2011-06-28 72 views
7

我的代碼是象下面這樣:數據庫關閉後,遊標是否仍然活着?

Cursor getResults() { 
    SQLiteDatabase db = dbHelper.getReadableDatabase(); 
    Cursor c = qb.query(db, projection, null, null, 
         null, null, null); 
    db.close(); 
    return c; 
} 

是,db.close後()被執行我的問題,是把光標C還活着,通航?

謝謝。

回答

8

不。您不想在數據庫關閉時使用遊標。當您撥打close()時,它會使對象(和它對應的光標)無效。

+2

然後我不知道什麼時候應該關閉數據庫,因爲光標被返回供其他活動使用。有什麼建議麼? – Kai

+4

處理數據庫查詢的最簡單也是最安全的方法是打開它,獲取所需的數據,關閉遊標,關閉數據庫,然後返回請求的結果。遊標僅用於遍歷數據庫查詢結果。您通常不需要持久連接。在這種情況下,您可以將結果放入某種集合中並返回。 – DeeV

相關問題