2012-09-17 49 views
0

,我發現了異常:異常在行更新

九月九日至17日:49:05.424:ERROR /數據庫(5971):錯誤更新 suggest_text_1 = Testttttttt suggest_text_2 = null進行UPDATE FTStitleslist SET suggest_text_1 =?,suggest_text_2 =? WHERE suggest_text_1 =測試09-17 09:49:05.434:ERROR/AndroidRuntime(5971): 致命例外:main android.database.sqlite.SQLiteException:無此列:測試:,編譯時:UPDATE FTStitleslist SET suggest_text_1 = ?, suggest_text_2 =? WHERE suggest_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 + ");"; 

怎麼了?

回答

1

你的文本值必須用單引號:

'Test' 

如果它們不,編譯器將嘗試解釋值(即測試)作爲列名。

從異常消息:

WHERE suggest_text_1=Test