objective-c - FMDB 和 LIKE 子句

标签 objective-c ios sqlite parameters fmdb

我在让适用于 iOS 的 FMDB 包装器使用参数和 LIKE 子句时遇到问题。事实上,我在使用 FMDB 的 SQLite 上使用 LIKE 子句时遇到了麻烦。

我尝试过使用“Name LIKE '%dam%'”来匹配“Adam”,并且尝试将其指定为参数,如下所示,但没有任何效果。

    [buffer appendString:@" Name LIKE '%dam%' "]; // no results

    [buffer appendString:@" Name LIKE ? "];
    [params addObject:[NSString stringWithFormat:@"%%%@%%", args.name]]; // no results

    [buffer appendString:@" Name LIKE '%' ? '%' "];
    [params addObject:[NSString stringWithFormat:@"%%%@%%", args.name]]; // no results

表中肯定有符合条件的项目,我只是不明白为什么 FMDB 没有返回它们。

最佳答案

您还可以尝试使用常规 SQL 查询将数据提取到 FMResultset。这对我来说效果很好。

如果您稍后需要过滤数据,请使用效果很好的 NSPredicate。

NSPredicate文档

predicate =
[NSPredicate predicateWithFormat:@"authors.lastName CONTAINS %@", @"Mark" ];
filtered  = [bookshelf filteredArrayUsingPredicate:predicate];

关于objective-c - FMDB 和 LIKE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9025514/

相关文章:

iphone - 如何将 TableView 单元格数据复制到 NSMutable 数组?

android - 在没有 Web 开发人员协助的情况下开发基于网页的应用程序

ios - 加载请求的应用程序时出现问题。看起来您可能正在使用 LAN URL

ruby-on-rails - 用于测试和开发的不同数据库

mysql - 具有多个数据库的共享服务器上的 SaaS 应用程序

objective-c - 使用没有 Retina 显示屏的 Retina 图像测试桌面应用程序

iphone - 通过 tableview 单元格删除 NSUserDefault 对象

objective-c - 使用 IB 使 View 可滚动

ios - 使用 UISplitViewController 时如何获取详细 View 的实际帧大小

mysql - 数据库 SQL 兼容性