行更新异常

时间:2012-09-17 10:01:13

标签: android sqlite

我得到了例外:

  

09-17 09:49:05.424:ERROR / Database(5971):更新错误   suggest_text_1 =使用UPDATE的Testttttttt suggest_text_2 = null   FTStitleslist SET suggest_text_1 = ?, suggest_text_2 =?哪里   suggest_text_1 =测试09-17 09:49:05.434:ERROR / AndroidRuntime(5971):   致命异议:主要           android.database.sqlite.SQLiteException:没有这样的列:测试:,编译时:UPDATE FTStitleslist SET suggest_text_1 =?,   suggest_text_2 =? WHERE suggest_text_1 =测试           在android.database.sqlite.SQLiteCompiledSql.native_compile(Native   方法)

当我执行方法时:

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 + ");";

怎么了?

1 个答案:

答案 0 :(得分:1)

您的文字值必须用单引号括起来:

'Test'

如果不是,编译器将尝试将值(即Test)解释为列名。

来自异常消息:

WHERE suggest_text_1=Test