2

AndroidでSQLiteデータベースを作成しようとしていますが、このエラーが発生します

"android.database.sqlite.SQLiteException: near(9598)."

この行で:

db.execSQL("CREATE TABLE " + TABLE_CONTACTS + "("
            + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " TEXT,"
            + KEY_PH_NO + " TEXT)");

ここで何が問題になっていますか?

4

3 に答える 3

2

テーブルはすでに存在しますか?むしろ使用...

CREATE TABLE IF NOT EXISTS ...

と追加し;ます:

... + KEY_PH_NO + " TEXT);");
于 2013-03-27T13:23:12.677 に答える
0

KEY_IDを維持してみてください

private static final String KEY_ID = "_id"; 

これがお役に立てば幸いです

于 2013-03-27T13:28:19.673 に答える
0

作成ステートメント(SQLFIDDLE)を試して、実際に問題がないことを示します。SQLiteExceptionのサブクラスで定義された例外がスローされないため、ドキュメントに記載されているように、ステートメントの作成中に何かを考えることができます。

SQLiteException

SQLの解析 または実行でエラーが発生したことを示すSQLiteの例外。

だから私は両方のステップを分離しようとします、最初に文字列でステートメントを構築し(それがどのように見えるかを確認するための出力を含む)、それからそれを実行しようとします。

于 2013-03-27T13:34:55.227 に答える