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

时间:2010-03-24 16:10:11

标签: iphone objective-c sqlite

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

当我在该语句上使用sqlite3-prepare-v2时,我得到了SQLITE_ERROR但是如果我使用SELECT * FROM Language WHERE LanguageID=?,其中LanguageID是主键数字标识字段,则语句编译得很好。

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

由于

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

克劳斯