为什么我的第二个sqlite表会抛出异常?

时间:2013-03-08 08:03:01

标签: java android eclipse sqlite

我有一个DatabaseHelper类,我在其中创建表。 第一个表(录音)工作正常,但第二个表是在我尝试使用它时抛出异常(插入/选择......)。

这是我在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。

什么可能导致这个问题?

2 个答案:

答案 0 :(得分:0)

是的,尝试清除应用程序的数据,您也可以查看数据库的版本,如果您要创建的数据库版本高于手机上的当前数据库,则必须删除并创建再次全部db。

请参阅:SQLiteOpenHelper

希望能帮助你:)

答案 1 :(得分:0)

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