2013-10-26 41 views
0

這工作,但我需要能夠改變PRODUCT_NAME更新SQLite數據庫使用字符串不工作

String query = "UPDATE UserTable SET _quantity=_quantity - 1 WHERE product_name ='Hammer'"; 
myDatabase.execSQL(query); 

這不工作,我不明白爲什麼的價值。

String test = "Hammer"; 
String query = "UPDATE UserTable SET _quantity=_quantity - 1 WHERE product_name ='%"+test+ "%'"; 
myDatabase.execSQL(query); 
+0

嘗試在查詢中刪除%%的象徵! –

+1

%符號是爲了匹配任何他想要的'%amme%'匹配'hammer' – Rawr

+0

它只是用於測試我已將字符串測試設置爲Hammer。 –

回答

0

要匹配你應該使用LIKE語句的模式:

String test = "Hammer"; 
String query = "UPDATE UserTable SET _quantity=_quantity - 1 WHERE product_name LIKE '%"+test+ "%'"; 
myDatabase.execSQL(query); 
2

試試這個代碼

我認爲它會工作

ContentValues data = new ContentValues(); 
data.put("Column Name", column_value); 

data.put("_quantity", 3); 

myDatabase.update(TABLE_NAME ,data,"product_name = ?",new String[]{test}); 
0

您需要從您的查詢中刪除%符號。這個符號用於匹配字符串值,如果你想匹配像他想%mer%什麼東西將匹配hammer

嘗試如下:

String query = "UPDATE UserTable SET _quantity=_quantity - 1 WHERE product_name ='"+test+ "'";