3

我在 GreenDAO 中查询时遇到问题。

这是代码:

QueryBuilder<Thing> qb = this.thingDao.queryBuilder();
qb.and(Properties.StartDate.lt(this.cal.getTime()), Properties.EndDate.ge(this.cal.getTime()));
List<Thing> thingsForToday = qb.list();

我希望 GreenDAO 只返回 cal.getTime() 过去的 StartDate 的东西,而不是 cal.getTime() 传递的 EndDate 的东西。我所看到的是,GreenDAO 只返回任何给定日期的每个数据集(事物)。无论是在 StartDate 之前还是 EndDate 之后。我做错了什么还是这是一个错误?

4

1 回答 1

3

不要使用and(),使用where()。

“和”/“或”方法旨在以不同的方式使用。引用“and”的JavaDoc:

通过使用 AND 组合给定条件来创建 WhereCondition。返回的 WhereCondition 必须在 where(WhereCondition, WhereCondition) 或 whereOr(WhereCondition, WhereCondition, WhereCondition) 中使用。

于 2012-11-05T09:42:36.463 回答