簡體   English   中英

未使用Android sqlite現有數據庫

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM