關於游標及數據庫對象未關閉的異常問題

E/Database(430): close() was never explicitly called on database '/data/data/com.shenfeinfo/databases/database.db'

E/Database(430): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

E/Database(430): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1847)

E/Database(430): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)

E/Database(430): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:854)

E/Database(430): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:847)

E/Database(430): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:544)

E/Database(430): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)

E/Database(430): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)

E/Database(430): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)

E/Database(430): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)

E/Database(430): at com.shenfeinfo.Dao.MyAllInfoPersonDao.<init>(MyAllInfoPersonDao.java:25)

E/Database(430): at com.shenfeinfo.MyAsyncTask.onPreExecute(MyAsyncTask.java:110)

點擊E/Database(430): at com.shenfeinfo.Dao.MyAllInfoPersonDao.<init>(MyAllInfoPersonDao.java:25)跳到此段代碼:

MyDataBase myDataBase = new MyDataBase(context,MyDataBase.DATABASE_NAME, 1);
db = myDataBase.getReadableDatabase();

(指打開數據库操作之前,應用程序沒有關閉遊標或數據库對象。在程序中,對數據库操作完成之後,應該對遊標及數據库進行關閉操作。)

出現這個錯誤的時候检查在退出前關閉了遊標及數據库對象。

如果繼續拋出未關閉的异常,繼續检查,髮現拋出此錯誤之前,在操作數據库過程中還拋出了另外一個錯誤。

原來在拋出第一個錯誤以後,關閉操作未執行,導致再次操作數據库時拋出“應用程序沒有關閉遊標或數據库對象”的錯誤。
                                                                                  
检查數據库操作部分代碼,在拋出錯誤處理部分,關閉遊標及數據库對象。

                                                                                                       ----轉載請添加原文地址

你可能感兴趣的:(object,application,database)