2013-03-05 3 views
1

У меня есть попытаться использовать этот запросSpace проблема причина в поиске Sqlite DB

SELECT * FROM DBNAME WHERE NAME LIKE '%SEARCHKEYWORD%' 

осуществлять поиск в БД SQLite, но если имя содержит пробелы, не работает, к примеру, если в БД есть элемент с именем Mustang GT, , если я ввожу ключевое слово mustang gt или Mustang GT ... возвращает всегда пустой запрос.

+0

Вы помещаете одиночные кавычки вокруг ключевого слова поиска, когда выполняете свой запрос? – dennisdrew

+0

Я передаю ключевое слово поиска, которое является строкой в ​​этом запросе, которое работает только в том случае, если ключевое слово поиска не содержит пробелов, как описано – AndreaF

+0

Да, но вы должны окружать его одинарными предложениями. Итак, скажите, что вы передаете переменную String с именем searchKeyword. Вы должны окружить его единичными предложениями по SQLite-запросу. Таким образом, это должно быть ГДЕ ИМЯ ЛЮБИТЕ «+» Ключевое слово + «» – dennisdrew

ответ

1

Там нет никаких оснований, что может привести к проблеме описатель в вашем коде, вероятно, что-то пойдет не так, когда вы получаете String.

Попробуйте распечатать SEARCHKEYWORD, чтобы убедиться, что это правильно.

0

Вам необходимо сделать как нижний (или верхний) столбец, так и строку, поскольку LIKE чувствителен к регистру.

Например:

SELECT * FROM DBNAME WHERE lower(NAME) LIKE lower('%SEARCHKEYWORD%') 
+0

не чувствительно к регистру ... проблема в пространстве – AndreaF

Смежные вопросы