1

テーブルを作成する DatabaseHelper クラスがあります。最初のテーブル (記録) は正常に動作していますが、2 番目のテーブルを操作しようとすると例外がスローされます (挿入/選択...)。

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。

参照してください:SQLiteOpenHelper

それがあなたを助けることを願っています:)

于 2013-03-08T08:27:26.870 に答える
0

問題が解決しました。アプリを再インストールするか、データベースのバージョン番号を変更するだけで役立ちました。

于 2013-03-08T08:55:55.157 に答える