Запрос FMDB не работает правильно с LIKE - PullRequest
11 голосов
/ 25 января 2012

Я использую FMDB, который является оберткой для SQLite.http://github.com/ccgus/fmdb

Вот моя строка запроса:

FMResultSet *athlete = [db executeQuery:@"SELECT * FROM athletes WHERE athlete_name LIKE ?", search_text];

Используя это, я могу получить результат обратно, если введу точное имя спортсмена.Но я пытаюсь использовать как, чтобы я мог искать по названию.Но когда я добавлю%?% Вместо просто?... ничего не возвращается.И ошибок нет.

Кто-нибудь сталкивался с этим раньше и знает, что я делаю не так?

Спасибо всем!

1 Ответ

32 голосов
/ 25 января 2012

Символы подстановки (%) должны быть частью заменяемой переменной, а не строки запроса:

FMResultSet *rs = [db executeQuery:@"SELECT * FROM athletes WHERE athlete_name LIKE ?",
                  [NSString stringWithFormat:@"%%%@%%", search_text]];
...