和日期陈述给出了一切

时间:2012-11-05 00:47:17

标签: android greendao

我在使用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只返回start.ate在cal.getTime()过去的内容,而不是cal.getTime()传递EndDate的内容。我所看到的是,GreenDAO只返回任何给定日期的每个数据集(事物)。无论是在StartDate之前还是在EndDate之后。我做错了还是这个错误?

1 个答案:

答案 0 :(得分:3)

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

“和”/“或”方法意味着以不同的方式使用。引用JavaDoc的“and”:

  

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