[英]Android sqlite existing database not used
我在玩Sqlite,但似乎找不到数据库...。它实际上归咎于表,但我不相信这一点。
Error: android.database.sqlite.SQLiteException: no such table: food (code 1): , while compiling: SELECT * FROM food
这是我的数据库:/data/data/com.haze.purple.foodorcars/databases/foods.db我已经用rootExplorer再次检查了此文件,并且文件在那里。 我也已经在Windows中下载了此db文件,并尝试了sqlite编辑器,并且可以找到餐桌上的食物....所以它必须是代码。
因此,我相信这是找不到文件的文件。 这是我的DatabaseHelper:
public CarsOrFoodDatabaseHelper(Context appContext) {
super(appContext, DATABASE_FILENAME, null, DB_VERS);
this.context = appContext;
DATABASE_FILENAME = context.getResources().getString(R.string.databasefile);
}
我应该为dbhelper使用context还是applicationContext?
我可以在dbhelper中使用的实际文件和db路径打印出来吗?(愚蠢的问题可能是:)
上面的代码中的问题是您在调用super(...)方法后将DATABASE_FILENAME设置为其他值。 确保您的DATABASE_FILENAME将在构造函数之外初始化,或者在同一类中将其声明为静态最终字符串。
您的代码应如下所示。
static final String DATABASE_FILENAME="foods";
public CarsOrFoodDatabaseHelper(Context appContext) {
super(appContext, DATABASE_FILENAME, null, DB_VERS);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.