2015-09-14 77 views
-5
Caused by: android.database.sqlite.SQLiteException: no such column: kia (code 1): , while compiling: UPDATE people_chat SET msg = kia WHERE name = uol 

final String CREATE_QUERY4 = "CREATE TABLE IF NOT EXISTS "+PEOPLE_CHAT+ "("+ "id INTEGER primary key autoincrement,"+ "name TEXT NOT NULL ,"+ "msg TEXT NOT NULL "+ ")"; 

列表項產生的原因:android.database.sqlite.SQLiteException:沒有這樣的柱:L

public void upDateMsg(String name,String msg){ 
     Log.i(TAG, "UpdateData: "+msg); 
     String strSQL = "UPDATE people_chat SET msg = "+msg+" WHERE name = "+ name; 
     db.execSQL(strSQL); 
     Log.i(TAG, "Update Success: "+strSQL); 
    } 
} 
+0

添加代碼片段以及登錄貓 –

+0

爲什麼你不使用ContentValues? http://stackoverflow.com/questions/9798473/sqlite-in-android-how-to-update-a-specific-row –

+0

將查詢更改爲'String strSQL =「UPDATE people_chat SET msg ='」+ msg +「'WHERE name ='「+ name +」'「;' –

回答

0

它應該是:

UPDATE people_chat SET msg = 'kia' WHERE name = 'uol' 

你缺少單引號。更改代碼:

String strSQL = "UPDATE people_chat SET msg = '"+msg+"' WHERE name = '"+ name+"'"; 

注:正如指出的意見,如果名稱中包含單引號,則查詢會失敗。它必須相應地逃脫。

+0

當一個字符串包含一個引號時,這將炸燬。 –

相關問題