[英]Android - SQLiteDatabase Not Maintaining 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();
}
所以事实证明我有一个错误的数据库存在检查,一直认为它不存在,所以每次活动加载时都会重新创建数据库......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.