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