FMDB查询与LIKE无法正常工作

时间:2012-01-25 19:09:09

标签: iphone ios sqlite fmdb

我正在使用FMDB,它是SQLite的包装器。 http://github.com/ccgus/fmdb

这是我的查询行:

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

如果我输入运动员的确切名字,我可以使用这个结果。但是,我正在尝试使用LIKE,所以我可以搜索名称。但是,当我添加%?%而不是仅仅? ......没有回报。而且没有错误。

之前有没有人碰到这个并知道我做错了什么?

谢谢大家!

1 个答案:

答案 0 :(得分:32)

通配符(%)必须是替换变量的一部分,而不是查询字符串:

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