2014年6月23日 星期一

Android SQLite Error: attempt to re-open an already-closed object

attempt to re-open an already-closed object

例外事件是因為你的SQLite資源沒有關閉所造成的問題。

修正方式:
在使用SQLiteDatabase、ContentValues、Cursor三個物件類別時,在最後要記得使用close();方法關閉。
且在使用Cursor如下範例:
SQLiteDatabase db=this.getWritableDatabase(); //在使用Cursor類別時,建議加上這段,因為我把它寫成全域變數,並在一開始Create實作會出錯,所以我都在用它(Cursor)前,都會寫上這段就沒問題了~
Cursor c = db.query(xxxx); //SQL查詢函數用法參考此網站
實作內容.......
用完後在最後加上
c.close();
db.close();
就可以了~建議順序是這樣喔!!



沒有留言:

張貼留言