我正在使用SQLite数据库来获取表的记录,如果存在特定记录,那么在运行application = 时总是会出错。引起:java.lang.IllegalStateException:database / data / data / com .example.tazeen.xxx / databases / xx(conn#0)已经关闭
dbhelper = new MyDbHelper(this);
SQLiteDatabase db1 = dbhelper.getReadableDatabase();
Cursor cursor = db1.rawQuery("select * from ActivityObjectList", null);
if (cursor.moveToFirst()) {
do {
imageName = cursor.getString(cursor.getColumnIndex("imageaudioPath"));
String strDownLoadStatus = cursor.getString(cursor.getColumnIndex("DownLoad_Status"));
} while (cursor.moveToNext());
}
cursor.close();
db1.close();
}
答案 0 :(得分:0)
我相信你应该关闭一些像dbhelper.close()...而不是db1.close();
通过了解您的代码段来猜测。
答案 1 :(得分:0)
您应该在db helper class
中关闭sqlite db对象@Override
public synchronized void close() {
if (mDb != null)
mDb.close();
super.close();
}
答案 2 :(得分:0)
读取表后应该关闭sqlite数据库。 你会用的 像这样
尝试{
在此处输入代码
what do to
}
finally{
db.close();
}