[英]Sqlite3_bind for LIKE statement (Objective-C)
我尝试将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中有效,但所有值均显示,?*不起作用。
任何人? 谢谢,
对于那些对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);
玩得开心,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.