Android - база данных SQLite не поддерживает вставку - PullRequest
1 голос
/ 30 июня 2011

Используя adb + sqlite3 (инструмент) и запрашивая базу данных после каждого действия, у меня есть приложение, которое вставляет строку в my_conference с помощью:

ContentValues values = new ContentValues();

      values.put("ITEM_ID", itemId);
      values.put("ITEM_DATE", sessionDate);

      mDb.beginTransaction();
      mDb.insert("my_conference", null, values);
      mDb.setTransactionSuccessful();
      mDb.endTransaction();

Затем я могу запросить базу данных и убедиться, чторяд есть.Затем, когда я нажимаю кнопку «Назад» на устройстве и после того, как действие возвращается на экран перед ним, я запрашиваю базу данных, и она пуста, без вставленной строки.Я не делаю ничего смешного с моей БД в onDestroy (), просто вызываю db.close ();

Что дает?

РЕДАКТИРОВАТЬ: в попытке убедиться, что не было ошибокИ, комбинируя то, что еще я нашел, прибегнув к поиску, я получил то же самое, но вставил, а затем удалил после onDestroy ():

ContentValues values = new ContentValues();

      values.put("ITEM_ID", itemId);
      values.put("ITEM_DATE", sessionDate);

      try
      {
        mDb.beginTransaction();
        mDb.insertOrThrow("my_conference", null, values);
        mDb.setTransactionSuccessful();
      }
      catch( Exception e )
      {
        Log.e("DB", "EXCEPTION: " + e.getMessage() );
      }
      finally
      {
        mDb.endTransaction();
      }

1 Ответ

0 голосов
/ 30 июня 2011

Получается, что у меня была проверка плохой базы данных на существование, которая всегда думала, что ее не существует, поэтому база данных создавалась заново при каждой загрузке активности ...

...