我在让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不返回它们。
发布于 2012-03-13 17:05:37
有一天我也头疼。尝尝这个
[buffer appendString:[NSString stringWithFormat:@" Name LIKE '%@dam%@' ",@"%",@"%"];发布于 2012-01-27 08:07:31
您还可以尝试使用常规SQL查询将数据提取到FMResultset。这对我来说很好。
如果您稍后需要过滤数据,请使用NSPredicate,它非常有效。
NSPredicate文档
predicate =
[NSPredicate predicateWithFormat:@"authors.lastName CONTAINS %@", @"Mark" ];
filtered = [bookshelf filteredArrayUsingPredicate:predicate];https://stackoverflow.com/questions/9025514
复制相似问题