0

我一直试图让 IN 运算符与 FMDB 一起工作,但运气为零。我尝试了许多不同的谷歌搜索,我发现的唯一相关帖子是在 Stack Overflow 上,但它返回 0 条记录。 通过 FMDB 将数组传递给 sqlite WHERE IN 子句?...

如果有任何现有的例子,或者如果有人知道如何做到这一点,我将非常感谢任何帮助。

谢谢

4

1 回答 1

3

我遇到了同样的问题,我相信我已经解决了,至少对于我自己的应用程序。首先,像这样构造您的查询,将问号的数量与数组中的数据量相匹配:

NSString *getDataSql = @"SELECT * FROM data WHERE dataID IN (?, ?, ?)";

然后使用 executeQuery:withArgumentsInArray 调用:

FMResultSet *results = [数据库 executeQuery:getDataSql withArgumentsInArray:dataIDs];

在我的例子中,我在名为 dataIDs 的 NSArray 中有一个 NSString 对象数组。我尝试了各种方法来让这个调用正常工作,但是通过这种 sql / function 的组合,我能够得到结果。

于 2012-07-18T07:38:32.870 回答