我在我的Android应用程序中遇到SQLIte数据库的一些麻烦。 问题在于数据库永远不会更新,即使在多次重新启动模拟器,Eclipse或从DDMS删除后也不会更新。Android不更新SQLite数据库
这是我的onCreate方法,坐落在扩展SQLiteOpenHelper类:
public void onCreate(SQLiteDatabase database) {
try {
database.execSQL(ESSENCE_TABLE_CREATE);
database.execSQL(PACCO_TABLE_CREATE);
database.execSQL(TAVOLE_TABLE_CREATE);
database.rawQuery("insert into essenza values(1, 'Rovere')",
null); // added later
} catch (SQLException e) {
Log.e("DB", e.getMessage());
}
}
实例助手后,我请求对数据库的引用:
helper = new DBHelper(context, dbpath + "/" + DATABASE_NAME);
database = helper.getWritableDatabase();
看来,rawQuery语句(稍后添加的语句)不会执行,并且正在使用的数据库将从先前的版本缓存。我也尝试更改数据库的版本,但它不起作用。我错过了什么吗?提前致谢。
代码是否正确?你有一个公开报价。 – MrZander
这是因为数据库已经存在。如果你的逻辑是(如果(!dbExists){createDb} else {//什么都不做) – mihail
@MrZander:我刚刚编辑了代码,它只是一个错字 – Tilvia