我正在使用FMDB,它是SQLite的包装器。 http://github.com/ccgus/fmdb
这是我的查询行:
FMResultSet *athlete = [db executeQuery:@"SELECT * FROM athletes WHERE athlete_name LIKE ?", search_text];
如果我输入运动员的确切名字,我可以使用这个结果。但是,我正在尝试使用LIKE,所以我可以搜索名称。但是,当我添加%?%而不是仅仅? ......没有回报。而且没有错误。
之前有没有人碰到这个并知道我做错了什么?
谢谢大家!
答案 0 :(得分:32)
通配符(%
)必须是替换变量的一部分,而不是查询字符串:
FMResultSet *rs = [db executeQuery:@"SELECT * FROM athletes WHERE athlete_name LIKE ?",
[NSString stringWithFormat:@"%%%@%%", search_text]];