我在使用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之后。我做错了还是这个错误?
答案 0 :(得分:3)
不要使用和(),使用where()。
“和”/“或”方法意味着以不同的方式使用。引用JavaDoc的“and”:
通过使用AND组合给定条件来创建WhereCondition。 返回的WhereCondition必须在where where(WhereCondition, WhereCondition)或whereOr(WhereCondition,WhereCondition, WhereCondition)。