[英]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.