Google Android - это несложно • Просмотр темы - Экранирование

Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 22 авг 2018, 04:13

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Экранирование
СообщениеДобавлено: 29 мар 2012, 02:50 
Аватар пользователя

Зарегистрирован: 13 янв 2012, 17:56
Сообщений: 219
Благодарил (а): 3 раз.
Поблагодарили: 6 раз.
Удалял строки в БД с фильтром типа String вот таким образом.

Код: [ Загрузить ] [ Скрыть ]
  1. String collocutor = someValue; 
  2. .... 
  3. db.delete("tablemessages", "phonefrom = " + collocutor, null); 


У меня в этом столбце номера телефонов, стал ловить плавающий глюк - некоторые строки не удалялись.
В конце-концов пару раз пробежав в дебаге понял, что дело в формате записи телефона. Они у меня есть просто 123, а есть +123 (вот как раз с + и не удаляло).
Решение элементарное: экранирование при помощи одинарных кавычек, либо, что еще лучше - подстановка параметров, но мне пока лень было их копать :)

Код: [ Загрузить ] [ Скрыть ]
  1. db.delete("tablemessages", "phonefrom = '" + collocutor + "'", null); 


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Экранирование
СообщениеДобавлено: 29 мар 2012, 03:40 
Аватар пользователя

Зарегистрирован: 13 янв 2012, 17:56
Сообщений: 219
Благодарил (а): 3 раз.
Поблагодарили: 6 раз.
Понадобилось удалять по 2 условиям, сразу заюзал параметры :)
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. db.delete("tablechats", "phone = ? AND owner = ?", new String[] {phone, owner});


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB