【问题标题】:Exception on row update行更新异常
【发布时间】:2012-09-17 18:11:42
【问题描述】:

我遇到了异常:

09-17 09:49:05.424:错误/数据库(5971):更新错误 Suggest_text_1=TesttttttttSuggest_text_2=null 使用更新 FTStitleslist SETSuggest_text_1=?,Suggest_text_2=?在哪里 Suggest_text_1=测试 09-17 09:49:05.434: 错误/AndroidRuntime(5971): 致命例外:主要 android.database.sqlite.SQLiteException:没有这样的列:测试:,编译时:UPDATE FTStitleslist SETSuggest_text_1=?, 建议文本_2=? WHERESuggest_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 + ");";

怎么了?

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

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

    'Test'
    

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

    来自异常消息:

    WHERE suggest_text_1=Test
    

    【讨论】:

      猜你喜欢
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多