SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
-
andev
- Сообщения: 219
- Зарегистрирован: 13 янв 2012, 17:56
Сообщение
andev » 29 мар 2012, 02:50
Удалял строки в БД с фильтром типа String вот таким образом.
Код: Выделить всё
String collocutor = someValue;
....
db.delete("tablemessages", "phonefrom = " + collocutor, null);
У меня в этом столбце номера телефонов, стал ловить плавающий глюк - некоторые строки не удалялись.
В конце-концов пару раз пробежав в дебаге понял, что дело в формате записи телефона. Они у меня есть просто 123, а есть +123 (вот как раз с + и не удаляло).
Решение элементарное: экранирование при помощи одинарных кавычек, либо, что еще лучше - подстановка параметров, но мне пока лень было их копать
Код: Выделить всё
db.delete("tablemessages", "phonefrom = '" + collocutor + "'", null);
-
andev
- Сообщения: 219
- Зарегистрирован: 13 янв 2012, 17:56
Сообщение
andev » 29 мар 2012, 03:40
Понадобилось удалять по 2 условиям, сразу заюзал параметры
Код: Выделить всё
db.delete("tablechats", "phone = ? AND owner = ?", new String[] {phone, owner});