Android sqllite。如果String包含'+'字符

时间:2016-02-04 18:33:47

标签: android sqlite

我正在尝试删除表格中的行:

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

如果我只使用数字,一切正常,但如果字符串有+符号,则该行不会被删除。我认为这是特殊字符的问题,但不知道如何更改字符串。

感谢。

1 个答案:

答案 0 :(得分:2)

永远不要使用字符串连接来创建查询。使用占位符:

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

除了更安全之外,它还会处理您未处理的所有内容,例如引用字符串。