Я продолжаю пытаться использовать подстановочные знаки при поиске в приложении для 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 "
Может кто-нибудь сказать мне, что я делаю неправильно?
Спасибо!
Следующее должно работать (но я не проверял это с SQLite):
"name LIKE '%' || ? || '%'"
Обратите внимание, что "%" и "_" внутри значения по-прежнему работают как подстановочные знаки.