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