Одиночная кавычка в sqlite на андроиде.Нужно решить без замены кавычек - PullRequest
0 голосов
/ 21 декабря 2018
Cursor cursor = database.rawQuery

            ("SELECT * FROM table where word like '?%'".replace("?", 
              letter),null);

При наличии одинарной кавычки в строке letter приложение вылетает.Нужно решить без letter.replace(" ' ", " "), потому что в таблице есть слова с кавычками.

1 Ответ

0 голосов
/ 21 декабря 2018

Вы неправильно используете API выписки.Вы должны связать буквальное строковое значение, которое вы хотите видеть в фактическом запросе.То есть выполните следующее:

String param = letter + "%";
String query = "SELECT * FROM table WHERE word LIKE ?";
Cursor cursor = database.rawQuery(query, new String[] { param });

Ответственность за правильное экранирование выражения LIKE, которое вы пытаетесь построить, лежит на API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...