2011-06-29 34 views
1

利用亚行+ sqlite3的(工具),以及每一个动作后,查询数据库,我有通过插入行my_conference一个应用程序:的Android - SQLiteDatabase不维护插入

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(); 
     } 

回答

0

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