繁体   English   中英

Sqlite3_bind用于LIKE语句(Objective-C)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM