SQLite
 sql >> база данни >  >> RDS >> SQLite

Close никога не е бил извикан изрично в базата данни

Сколете вашия cursor всеки път след употреба проблемът ви ще бъде решен

itemsCursor.close()

Тъй като не затваряте това, ресурсите на курсора не се освобождават поради тази причина, когато затворите своя db, получавате тази грешка.

Направете курсора си като глобална променлива, след това във вашия onDestroy

@Override
protected void onDestroy() {
    super.onDestroy();
    itemsCursor.close();
    db.close();
}

И тъй като сега добавяте close изявление като последен израз на filldata метод, Adapter на listview не получава никакви данни като cursor вече е пуснат поради тази причина не получавате никакви данни в listview .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Наистина ли е необходимо да създавате SQLite таблици всеки път, когато приложението стартира?

  2. Индекс, базиран на SQLite Expression

  3. Бърза публикация за SQLite UPSERT и новата клауза RETURNING.

  4. SQLite LIKE

  5. Добра практика ли е да се използва ContentProvider за обработка на операции с база данни?