#android
#Android
Вопрос:
Мне нужно выполнить поиск по определенному имени в ma contacts… для этого я задал критерии выбора следующим образом
ContactsContract.Contacts.DISPLAY_NAME " LIKE '" constraint "%'"
Но для апострофа (‘) … означает …когда я ввел апостроф в качестве ограничения, возникает исключение (ошибка SQL) .. для всех других специальных символов поиск работает..
Как мы можем справиться с апострофом ограничения (‘) …в критериях поиска .. boz у нас могут быть имена контактов с апострофом (например: Jennifer’lo’pe_z)
Ответ №1:
Как мне использовать строковый литерал, содержащий встроенный символ одинарной кавычки (‘)?
Стандарт SQL указывает, что одинарные кавычки в строках экранируются путем помещения двух одинарных кавычек в строку. В этом отношении SQL работает как язык программирования Pascal. SQLite следует этому стандарту.
Пример:
INSERT INTO xyz VALUES('5 O''clock');
ИТАК, просто для вашего решения используйте » на месте». like
if(constraint.contains("'"))
constraint = constraint.replace("'", "''");
А затем выполните свой запрос. Это должно вам помочь.
Счастливого кодирования 🙂