Sqlite在android中重启后返回旧值

时间:2011-11-01 03:26:42

标签: android database sqlite

我将数据存储在我的android设备的sqlite中,表中当前月份为主键。然后我重新启动并继续定期更新数据并从sqlite中检索数据,它显示了我的确切数字。但是在所有后续重启之后,它会显示第一次重启时的初始值,而不是显示上次更新的值。我找不到,它存储初始值的位置,sqlite是否缓存该值。最近两天我遇到了这个问题。任何人都遇到过这个问题。 这是我的code.Code for Table是:

SQLiteDatabase dataUsageDataBase = null;
private final String TOTAL_DATA_TABLE ="DeviceData";
dataUsageDataBase.execSQL("CREATE TABLE IF NOT EXISTS "+ TOTAL_DATA_TABLE+ "( presentMonth INT , Data1 INT(12),Data2 INT(12),Data3 INT(12),Data4 INT(12),PRIMARY KEY(presentMonth) );

今天是一个代表当月(0到11)的数字 用于提取旧值的光标:

Cursor totalData = dataUsageDataBase.rawQuery("SELECT * FROM " + TOTAL_DATA_TABLE + " WHERE presentMonth = "+todayMonth +"", null);

//在提取数据后,对数据进行了一些计算 然后删除现有数据并插入新记录

dataUsageDataBase.delete(TOTAL_DATA_TABLE, " presentMonth =  " + todayMonth+"" , null); 
dataUsageDataBase.execSQL("INSERT INTO "+ TOTAL_DATA_TABLE+ " Values( "+todayMonth + ","+Data1+   ","   +Data2 + ","+ Data3 +","+Data4+");"); 

0 个答案:

没有答案