首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LIKE语句的Sqlite3_bind (Objective-C)

LIKE语句的Sqlite3_bind (Objective-C)
EN

Stack Overflow用户
提问于 2010-02-22 11:53:19
回答 1查看 1.3K关注 0票数 0

我尝试将SQL值绑定到我的NSString查询中,但它不起作用,而且我不知道我做错了什么。下面是我的问题:

代码语言:javascript
复制
Select * from fiche where fichetype = 'EVENT' and sdate like '?%' ORDER BY cdate DESC

我使用这部分代码来绑定值:

代码语言:javascript
复制
sqlite3_bind_text(getEventStatement, 1, [value UTF8String], -1, SQLITE_TRANSIENT);

这个查询在我的数据库中工作得很好,但在Xcode中就不行了。我还尝试了其他类似的东西:

代码语言:javascript
复制
Select * from fiche where fichetype = 'EVENT' and sdate GLOB '?*' ORDER BY cdate DESC

这个可以在Xcode中工作,但是所有的值都是显示的,?*不起作用。

有没有人?谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-23 11:33:09

对于那些在使用LIKE语句时遇到同样问题的人,这里有一个适合我的解决方案。首先,我像这样修改我的查询:

代码语言:javascript
复制
Select * from fiche where fichetype = 'EVENT' and sdate like ?001 ORDER BY cdate DESC

不要在参数tokens ?001中加引号,然后创建一个新字符串,将%放入您要查找的内容中:

代码语言:javascript
复制
NSString *theString = [NSString stringWithFormat:@"%@%%", myValue];

最后,只需将字符串绑定到准备好的语句,如下所示:

代码语言:javascript
复制
sqlite3_bind_text(getEventStatement, 1, [theString UTF8String], -1, SQLITE_STATIC);

玩得开心,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2308695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档