ここに同様の質問がありますが、私の状況は異なります。
07-13 13:03:11.460: E/SQLiteDatabase(6268): Error inserting 2=Fri Jul 13 13:03:10 EDT 2012 WebView is exiting 1=Fri Jul 13 13:02:53 EDT 2012 Registering Device for Notifications 0=Fri Jul 13 13:02:41 EDT 2012 Device passed GCM requirements test
07-13 13:03:11.460: E/SQLiteDatabase(6268): android.database.sqlite.SQLiteException: near "2": syntax error: , while compiling: INSERT INTO log(2,1,0) VALUES (?,?,?)
ContentValues に渡された単純な文字列値を挿入しようとしています。
LogOpenHelper helper = new LogOpenHelper(this);
ContentValues values = new ContentValues();
for (int i = 0; i < logReporter.getSize(); i++) {
values.put(i + "", temp[i]);
}
helper.getWritableDatabase().insert(TABLE_NAME, null, values);
helper.close();
cursor.close();
上記の for ループは、すべてのログ メッセージを string[] から取り出します。データベースに常時アクセスする必要がないため、string[] はアプリケーション全体で埋められます。デバッグのための起動時とシャットダウン時の挿入とクエリのみ
Date + a Stringのインスタンスを挿入しようとしている文字列。欠落している sqlite パーサーで許可されていない特定の文字シーケンスはありますか? そのタイプのオブジェクトは、insert() を呼び出すパラメーターであるため、ContentValues を使用する必要があります。
エラーの理由についてのアイデアはありますか?