2013-03-29 45 views
0

我在Android應用程序中使用SQLite,我需要執行一些複雜的插入語句(與子查詢)。我們發現SQLiteStatement對此很有用。它可以作爲返回自動加密主鍵的插入語句多次編譯和執行。在database.close()後編譯查詢的重新編譯

,因爲我將結束我SQLiteOpenHelperActivity#onPause()並重新打開在Activity#onResume()它(其中包含關閉SQLiteDatabase)我會得到不同的SQLiteDatabase實例時間按時間。

我應該重新編譯每個SQLiteDatabase實例的查詢嗎?

或者我可以在靜態變量中緩存編譯語句,併成功將其用於不同的SQLiteDatabase實例?

源代碼建議我,我應該(SQLiteStatement包含引用SQLiteDatabase)...但我不確定。

任何幫助,非常感謝。

回答

0

SQLiteStatement對象與特定的SQLiteDatabase對象相關聯,並且不能移動到另一個對象(對此沒有函數,編譯結果也無法在任何其他數據庫中使用)。

您必須爲新的數據庫對象創建新的語句對象。