0

我得到了例外:

09-17 09:49:05.424: 错误/数据库(5971): 使用 UPDATE FTStitleslist SETSuggest_text_1=?,Suggest_text_2=? 在哪里Suggest_text_1 =测试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(Native Method) 测试

当我执行该方法时:

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'

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

从异常消息中:

WHERE suggest_text_1=Test
于 2012-09-17T10:11:42.077 回答