我尝试将NSString值绑定到我的SQL查询中,但它不起作用,我不知道我做错了什么。 这是我的疑问:
Select * from fiche where fichetype = 'EVENT' and sdate like '?%' ORDER BY cdate DESC
我正在使用这部分代码绑定值:
sqlite3_bind_text(getEventStatement, 1, [value UTF8String], -1, SQLITE_TRANSIENT);
此查询在我的数据库中正常工作,但在Xcode中没有。我也尝试过类似的东西:
Select * from fiche where fichetype = 'EVENT' and sdate GLOB '?*' ORDER BY cdate DESC
这个在Xcode中工作,但显示所有值,?*不起作用。
任何?谢谢,
答案 0 :(得分:0)
对于那些与LIKE语句有同样问题的人,这里有适合我的解决方案。 首先,我改变了我的查询:
Select * from fiche where fichetype = 'EVENT' and sdate like ?001 ORDER BY cdate DESC
不要在参数标记中添加引号?001,然后创建一个新的字符串,将%放入您要查找的内容中:
NSString *theString = [NSString stringWithFormat:@"%@%%", myValue];
最后,只需将字符串绑定到预准备语句,如下所示:
sqlite3_bind_text(getEventStatement, 1, [theString UTF8String], -1, SQLITE_STATIC);
玩得开心,