2015-09-28 2 views
0

Я использую базу данных SQLite для получения записи таблицы, где, если существует определенная запись. Всегда получая ошибку при запуске приложения = Вызвано: java.lang.IllegalStateException: database/data/данные/com.example.tazeen.xxx/базы данных/хх (сопп # 0) уже закрытAndroid: база данных исключений времени исполнения уже закрыта

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

Создание DB экземпляра на уровне приложения –

+0

можно сказать, у на какой строке исключение метания. – Suru

ответ

0

Я считаю, что вы должны закрыть некоторые вещи, как dbhelper.close() ... вместо db1.close ();

Уверен, понимая ваш фрагмент кода.

0

Вы должны закрыть SQLITE объект БД в БД вспомогательный класс

@Override 
public synchronized void close() { 

    if (mDb != null) 
     mDb.close(); 

    super.close(); 
} 
0

Вы должны закрыть SQLite базу данных после чтения таблицы. вы будете использовать как этот

Try { введите код здесь what do to } finally{ db.close(); }

Смежные вопросы