繁体   English   中英

在Objective-C的varchar字段上使用WHERE语句的sqlite问题

[英]sqlite issue using WHERE statement on a varchar field in Objective-C

我有这个sql语句SELECT * FROM Language WHERE LanguageCode=? 其中LanguageCode是varchar(2)。

当我在该语句上使用sqlite3-prepare-v2时,出现SQLITE_ERROR,但如果使用SELECT * FROM Language WHERE LanguageID=? 其中LanguageID是主键数字标识字段,该语句可以正常编译。

使用WHERE语句通过varchar字段过滤是否存在任何问题?

谢谢

我认为使用varchar字段的where语句应该没有问题。 也许您在传递参数时遇到问题。 尝试打印到NSLog并查看已执行的语句,然后使用sqlite命令提示符执行该语句以查看是否具有返回值。

确定你的? 用单引号引起来。

SQLite还应该给您一个错误字符串,告诉您为什么会有错误。

尝试调用sqlite3_errmsg并检查该调用返回的错误字符串。 它应该为您提供有关发生问题的更详细的信息。

克劳斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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