0

私は例外を取得しています:

09-17 09:49:05.424: エラー/データベース (5971): Suggest_text_1=TesttttttttSuggest_text_2=null の更新中にエラーが発生しました UPDATE FTStitleslist SET WHERESuggest_text_1=Test 09-17 09:49:05.434: エラー/AndroidRuntime(5971): 致命的な例外: メインの android.database.sqlite.SQLiteException: そのような列はありません: テスト: 、コンパイル中: FTStitleslist の更新 SETSuggest_text_1=?、suggest_text_2 =? WHERESuggest_text_1=android.database.sqlite.SQLiteCompiledSql.native_compile(ネイティブメソッド)でテスト

メソッドを実行すると:

public void updateTitle(String oldTitle, String newTitle) {
            ContentValues newValues = new ContentValues();
            newValues.put(KEY_WORD, newTitle);
            newValues.put(KEY_DEFINITION, "null");

            getWritableDatabase().update(FTS_VIRTUAL_TABLE, newValues, KEY_WORD + "=" + oldTitle, null);
        }

次のように作成されたデータベースの場合:

private static final String FTS_TABLE_CREATE =
                "CREATE VIRTUAL TABLE " + FTS_VIRTUAL_TABLE +
                        " USING fts3 (" +
                        KEY_WORD + ", " +
                        KEY_DEFINITION + ");";

どうしたの?

4

1 に答える 1

1

テキスト値は一重引用符で囲む必要があります。

'Test'

そうでない場合、コンパイラは値 (つまり、Test) を列名として解釈しようとします。

例外メッセージから:

WHERE suggest_text_1=Test
于 2012-09-17T10:11:42.077 に答える