2013-03-08 27 views
1

我有創建表的DatabaseHelper類。 第一張表(錄音)工作正常,但第二個表格(錄音)正在嘗試使用它時插入異常(插入/選擇...)。爲什麼我的第二個sqlite表拋出異常?

這裏距離DatabaseHelper我的代碼:

public void onCreate(SQLiteDatabase db) { 

    String createTable="CREATE TABLE recordings" + 
      "(_id INTEGER PRIMARY KEY AUTOINCREMENT," + 
      " name VARCHAR(255) NOT NULL," + 
      " datestart VARCHAR(255) NOT NULL" + 
      ")"; 

    String createTable2="CREATE TABLE recording_image" + 
      "(_id INTEGER PRIMARY KEY AUTOINCREMENT," + 
      "imageurl VARCHAR(255) NOT NULL," + 
      "imagetime INTEGER NOT NULL," + 
      "prot_id INTEGER NOT NULL," + 
      "FOREIGN KEY(prot_id) REFERENCES recordings(_id) ON DELETE CASCADE" + 
      ")"; 

    db.execSQL(createTable);  
    db.execSQL(createTable2); 
} 

唯一的例外是:

沒有這樣的表:recording_image。

什麼可能導致此問題?

+4

您是否稍後添加第二個表格。如果清除您的數據或卸載您的應用程序。 – 2013-03-08 08:08:17

+0

你在哪裏查詢表格? – JoxTraex 2013-03-08 08:10:30

+0

從第二個表中刪除引用後來你改變第二個表的引用 – 2013-03-08 08:17:16

回答

0

是的,嘗試清除應用程序的數據,你也可以看看數據庫的版本,如果你想創建的數據庫的版本高於手機上的當前數據庫,你必須刪除和再次創建所有數據庫。

請參閱:SQLiteOpenHelper

希望這將幫助你:)

0

問題解決了。只需重新安裝應用程序或更改數據庫的版本號即可。

相關問題