Android - SQLiteDatabase不维护插入

时间:2011-06-29 21:31:41

标签: java android database sqlite insert

使用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 :(得分:0)

所以事实证明我有一个糟糕的数据库存在检查,总是认为它不存在,所以数据库是在每次活动加载时重新创建的......