2
我正在學習在android中實現數據庫,我遇到了這個query()和rawQuery(),我想知道哪一個是Androidsqlite中query()和rawQuery()之間有什麼區別,哪一個更有效,goog
我正在學習在android中實現數據庫,我遇到了這個query()和rawQuery(),我想知道哪一個是Androidsqlite中query()和rawQuery()之間有什麼區別,哪一個更有效,goog
高效的從API文檔它們之間的區別:
public void execSQL (String sql)
執行一個SQL語句不是SELECT或返回數據的任何其他SQL語句。
public Cursor rawQuery (String sql, String[] selectionArgs)
運行提供的SQL並在結果集上返回一個Cursor。
如果你想要例如CREATE TABLE
如果您想要Cursor
結果使用rawQuery()
(= SELECT
語句),則不會返回值,您可以使用execSQL()
。
查看Android源代碼中的SQLiteDatabase.java,顯示查詢(..)最終調用QueryBuilder將查詢構建爲單個字符串,然後實質上調用rawQuery()。他們應該大致相當,假設你也做了同樣的工作來建立你自己的陳述。
非常感謝你,那是我正在等待的那種解釋。 – krishnamraju 2014-11-03 09:25:20