2013-03-08 61 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

问题解决了。只需重新安装应用程序或更改数据库的版本号即可。