Страница 1 из 1

Экранирование

Добавлено: 29 мар 2012, 02:50
andev
Удалял строки в БД с фильтром типа String вот таким образом.

Код: Выделить всё

String collocutor = someValue;
....
db.delete("tablemessages", "phonefrom = " + collocutor, null);
У меня в этом столбце номера телефонов, стал ловить плавающий глюк - некоторые строки не удалялись.
В конце-концов пару раз пробежав в дебаге понял, что дело в формате записи телефона. Они у меня есть просто 123, а есть +123 (вот как раз с + и не удаляло).
Решение элементарное: экранирование при помощи одинарных кавычек, либо, что еще лучше - подстановка параметров, но мне пока лень было их копать :)

Код: Выделить всё

db.delete("tablemessages", "phonefrom = '" + collocutor + "'", null);

Re: Экранирование

Добавлено: 29 мар 2012, 03:40
andev
Понадобилось удалять по 2 условиям, сразу заюзал параметры :)

Код: Выделить всё

db.delete("tablechats", "phone = ? AND owner = ?", new String[] {phone, owner});