2016-02-04 41 views
0

我想在表中刪除行:Android sqllite。如果字符串包含在表中無法刪除的行「+」字符

DBHelper dbHelper = new DBHelper(ctx); 
SQLiteDatabase db = dbHelper.getWritableDatabase(); 
String _number="+79261604030"; 
db.delete("calls", "number = " + _number, null);` 

如果我用的只是數字,一切工作正常,但如果字符串有+標誌,該行不會被刪除。我認爲這是特殊字符的問題,但不知道如何更改字符串。

謝謝。

+0

你得到的錯誤是什麼? – Rohit5k2

+0

沒有錯誤,它只是不刪除行。如果刺有19個以上的字符也不刪除行。 – kotzulla

回答

2

切勿使用字符串連接來創建查詢。使用佔位符:

String[] args={"+79261604030"}; 
db.delete("calls", "number = ?", args); 

除了更安全之外,它還處理所有您不處理的內容,例如引用字符串。

+0

我接受了你的建議並且很有效,非常感謝! – kotzulla

相關問題