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 は、StartDate が cal.getTime() の過去にあるものだけを返し、EndDate が cal.getTime() によって渡されたものは返さないと思っていました。私が見たのは、GreenDAO が特定の日付のすべてのデータ セット (物) を返すだけだということです。StartDate の前であろうと EndDate の後であろうと関係ありません。私は何か間違ったことをしていますか、それともこれはバグですか?

4

1 に答える 1

3

and() を使用しないで、where() を使用します。

「and」/「or」メソッドは、別の方法で使用することを意図しています。「and」のJavaDocを引用するには:

AND を使用して指定された条件を組み合わせて、WhereCondition を作成します。返された WhereCondition は、where(WhereCondition, WhereCondition) または whereOr(WhereCondition, WhereCondition, WhereCondition) 内で使用する必要があります。

于 2012-11-05T09:42:36.463 に答える