2014-11-03 68 views

回答

5

高效的從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()。他們應該大致相當,假設你也做了同樣的工作來建立你自己的陳述。

+0

非常感謝你,那是我正在等待的那種解釋。 – krishnamraju 2014-11-03 09:25:20

相關問題