2013-06-21 32 views

回答

25

主要方法是SQLiteDatabase#rawQuery()SQLiteDatabase#query()SQLiteQueryBuilder都只是組成SQL的助手。

SQLiteDatabase#query()只能組合一個表中的簡單查詢。 SQLiteQueryBuilder可以創建連接,工會等。由於SQLiteQueryBuilder是一個額外的對象,所以如果你需要它的權力,你只會構造它。我個人認爲任何非平凡的SQL都比SQL更容易閱讀,因此我會使用rawQuery而不是SQLiteQueryBuilder,但這是一個有趣的問題,以及您對SQL的瞭解。如果你想用不同的方式組合一些常見的子查詢,那麼SQLiteQueryBuilder也可能很有用。

其實我更願意(我使用SQLite主要是利用它的C API)使用預準備語句,因爲相對於它的執行SQL的編譯是緩慢的,但我沒有看到在Java接口選項。

+0

現在很清楚,謝謝:) – user1049280

4

如果您想要在多個表上進行聯接,SQLiteQueryBuilder非常有用。如果您在GrepCode上查看源代碼,有幾種方便的方法:SQLiteQueryBuilder

否則,我想不出使用SQLiteQueryBuilder比其他方法查詢數據庫的可靠原因。

相關問題