Подстановочные знаки не работают в SQLite

Я продолжаю пытаться использовать подстановочные знаки при поиске в приложении для Android и продолжаю сталкиваться с ошибками .

Я выполняю поиск в моем приложении, используя строку ниже:

Cursor c_name = b.query("namedrxns", new String[] { "_id", "name" },
              "name LIKE %?%", new String[] { query }, null, null, null);

, когда я использую имя LIKE%?% или name =%?% Я получаю "ближний"%: синтаксическая ошибка: при компиляции: SELECT _id, имя FROM namedrxns ГДЕ имя =%?% "ошибка.

, но с именем НРАВИТСЯ"%?% " или name = '%?%' Я получаю вместо этого« индекс привязки или столбца вне диапазона: handle 0x40cb70 "

Может кто-нибудь сказать мне, что я делаю неправильно?

Спасибо!

8
задан Alex Curran 28 August 2010 в 23:07
поделиться

1 ответ

Следующее должно работать (но я не проверял это с SQLite):

"name LIKE '%' || ? || '%'"

Обратите внимание, что "%" и "_" внутри значения по-прежнему работают как подстановочные знаки.

5
ответ дан 5 December 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: