Как создать предложение SQL LIKE в Android, где часть шаблона предоставляется пользователем - PullRequest
0 голосов
/ 01 января 2012

Я пытаюсь отфильтровать результаты запроса, если путь к файлу содержит предоставленное пользователем имя каталога. Я создаю предложение вроде следующего:

path not like '%/UserProvidedDirName/%'

Я пытался сделать это с

"path not like '%/" + DatabaseUtils.sqlEscapeString(dirName) + "/%'"

и

"path not like '%/?/%'" //(passing in the directory as a parameter)

но оба метода помещают нежелательные одинарные кавычки вокруг имени каталога:

path not like '%/'UserProvidedDirName'/%'

Я мог бы использовать DatabaseUtils.sqlEscapeString(), а затем убрать первый и последний символы из результата, но есть ли более аккуратный способ?

1 Ответ

0 голосов
/ 01 января 2012

Не будет LIKE %"+DatabaseUtils.sqlEscapeString(dirName)+"% работать?

РЕДАКТИРОВАТЬ: только что понял, что я разместил, не является допустимым SQL, так что это не так.Я думаю, что вам лучше всего обрезать первый и последний символы, используя .substring(1, str.length() - 1)

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