在dbaccess中使用null参数获取查询

时间:2015-04-17 06:13:59

标签: ios objective-c dbaccess

如果我有两个dbobject就像:

@interface Member : DBObject

@property (strong) NSString* firstname;
@property (strong) NSString* lastName;
@property (strong) Group* group;

@end

@interface Group : DBObject

@property (strong) NSString* groupName;
@property (strong) NSString* adminName;

- (DBResultSet*)members;

@end

在成员对象中,我可以检索与该组相关的成员,但在成员对象中,还有许多不包含组对象的对象。那我该如何获取它们?

我试过这个,但给出了空的DBResultSet。

[[[Member query] whereWithFormat:@"group == %@",NULL] fetch];

谢谢你。

1 个答案:

答案 0 :(得分:2)

在SQLite中是的,你不能将NULL等同,所以你使用一个稍微不同的表达式来处理NULL对象。您需要使用 IS NULL IS NOT NULL

简而言之,您的上述查询将变为:

[[[Member query] where:@"group IS NULL"] fetch];

有时会使用参数来构建查询,但在这种情况下,您只需要构建查询以使其看起来有点不同。

例如:

[[[Member query] whereWithFormat:@"(group == %@ OR group IS NULL)",@(123)] fetch];

由于 广告