Android:运行时异常数据库已经关闭

时间:2015-09-28 10:51:10

标签: android

我正在使用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();
    }

3 个答案:

答案 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(); }