1

我有一个创建表的 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。

什么可能导致这个问题?

4

2 回答 2

0

是的,尝试清除应用程序的数据,也可以查看db的版本,如果你要创建的db版本高于手机上的当前db,你必须删除并重新创建所有的db D b。

请参阅:SQLiteOpenHelper

希望对你有帮助:)

于 2013-03-08T08:27:26.870 回答
0

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

于 2013-03-08T08:55:55.157 回答