FAQ_21 sqlite exception: close() was never explicitly called on database
来源:互联网 发布:数据保护系统 编辑:程序博客网 时间:2024/05/22 02:09
经常与数据库打交道的 frend 们,估计肯定遇到这样的错误提示:
close() was never explicitly called on database ××××××××××××××××××
这种错误提示,不会导致程序崩溃,至少我没有遇到。
这个错误来源:
framworks/base/core/java/android/database/sqlite/SQLiteDatabase.java
@Override protected void finalize() { if (isOpen()) { Log.e(TAG, "close() was never explicitly called on database '" + mPath + "' ", mStackTrace); closeClosable(); onAllReferencesReleased(); } }
我的代码报了这个错误,我感觉很郁闷,因为我的确是 close 了!!
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
if (db != null && db.isOpen()) {
db.close();
}
if (dbHelper != null) {
dbHelper.close();
}
最后发现,在代码里面,有:
if(isDate) { //************ return;}
所以须将 close 放到这个判断的 return 之前一份,因为 isDate == true,进入这个语句,程序就不会往下执行,那麽还没有 close,就会包错。
这样就没有错误了。
- FAQ_21 sqlite exception: close() was never explicitly called on database
- close() was never explicitly called on databaseandroid.database.sqlite异常
- Android SQLite - close() was never explicitly called on database
- android SQLite :close() was never explicitly called on database 'XXXXXX'
- SQLite: close() was never explicitly called on database
- 处理AndroidSQLite-close()was never explicitly called on database异常
- close() was never explicitly called on database,SQLiteMisuseException
- 解决android sqlite 中"close() was never explicitly called on database" 与java线程同步
- 处理Android SQLite - close() was never explicitly called on database异常
- close() was never explicitly called on database 和 database is locked 错误原因
- close() was never explicitly called on database 和 database is locked 错误原因
- close() was never explicitly called on database 和 database is locked 错误原因
- close() was never explicitly called on database '/data/data/com.example.shiyan/databases/njupt.db'
- close() was never explicitly called on database '/data/data/com.seehope.view/databases/note.db' 异常
- SQLite Exception, Database Already Closed
- Qt13 Creating connection open and close function with sqlite database
- 异常A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same
- A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same t
- 滕尚华老师获2008年哥德尔(Gödel)奖
- python3使用tkinter做界面之鼠标提示(ToolTip)
- 我的GIT使用经历
- 杭电 2011 多项式求和
- python3使用tkinter做界面之文件树FileTreeWidget
- FAQ_21 sqlite exception: close() was never explicitly called on database
- 高光荣
- 杭电 2012 素数判定
- java 获取指定的进程id
- 韩家炜
- Java 获取所有进程
- Silverlight 引路蜂二维图形库示例:线段连接类型(LineJoin)
- ACM Fellow
- 杭电 2013 蟠桃记