2014-09-27 60 views
0

我在差異文件中創建2個表(擴展SQLiteOpenHelper)。他們都有相同的數據庫名稱。當我只有一張桌子時,它工作得很好。但是當我嘗試使用他們兩個。我得到這個錯誤如何解決SQLiteException:2表數據庫沒有這樣的表?

了java.lang.RuntimeException:無法啓動活動
android.database.sqlite.SQLiteException:沒有這樣的表:wish_table(代碼1):在編譯:SELECT * FROM wish_table

這是我的第一臺databaseHelper類

public class Wishlist_DBHelper extends SQLiteOpenHelper { 

private SQLiteDatabase sqLiteDatabase; 

public Wishlist_DBHelper(Context context) { 
    super(context, WishList.DATABASE_NAME, null, WishList.DATABASE_VERSION); 
} 

// Wishlist 
public static final String TABLE_WISHLIST = "wish_table"; 
public static final String WISHLIST_ID = "_id"; 
public static final String WISHLIST_GOAL = "goal"; 
public static final String WISHLIST_TARGET= "target"; 

@Override 
public void onCreate(SQLiteDatabase db) { 


    String CREATE_WISHLIST_TABLE = "create table " 
      + TABLE_WISHLIST  + "(" 
      + WISHLIST_ID   + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
      + WISHLIST_GOAL   + " TEXT NOT NULL," 
      + WISHLIST_TARGET  + " TEXT NOT NULL);"; 

    // create table 
    db.execSQL(CREATE_WISHLIST_TABLE); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

    db.execSQL("DROP TABLE IF EXISTS " + wish_table); 
    onCreate(db); 
} 

第2臺databaseHelper類的實現方式爲一日一相同的部分。我只更改表名和列名。所以我該怎麼做?

+0

你能更明確嗎?就像你爲什麼要訪問每一個旁邊的作品,但訪問他們都行不通。我真的不明白你做了什麼導致你這樣做。 – 2014-09-27 19:46:50

+0

爲什麼你不用另一個查詢在onCreate中創建第二個表本身。 – Chitrang 2014-09-27 21:13:30

+0

什麼行導致SQLiteException?它何時執行? – 2014-09-28 00:21:27

回答

0

它可能不同';' ,我不知道但值得去嘗試db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_WISHLIST + " (" + WISHLIST_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + WISHLIST_GOAL + " TEXT NOT NULL," + WISHLIST_TARGET + " TEXT NOT NULL)");

相關問題