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

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();

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

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

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

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

                                                                                                       ----轉載請添加原文地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值