我在使用绿色道时遇到问题。到目前为止,它运行良好。但是我认为当我尝试比较日期时存在问题。以下是情况
我有一个表,我们称之为OrderTable。我有两个日期作为列,订单日期和交货日期。现在我想选择那些交货日期为空或订单日期大于交货日期的记录
我想在 Where 子句中选择记录。但它给了我以下错误
org.greenrobot.greendao.DaoException:非法日期值:预期的java.util.Date或Long for value org.greenrobot.greendao.Property@41d032a0
所以我在比较 2 个日期时束手无策,即使我知道日期在某些记录中是空的,也是 Null 也不起作用。
请帮助我。我被困在里面了。
为了检查 Date 对象是否为 null,我们需要使用它:
daoSession.getModelDao().queryBuilder().where(ModelDao.Properties.SyncedAt.isNull()).list();
和
daoSession.getModelDao().queryBuilder().where(ModelDao.Properties.SyncedAt.isNotNull()).list();
要比较日期,我们需要使用它:
gt() and lt()
例
List<Model> items = daoSession.getModelDao().queryBuilder()
.where(ModelDao.Properties.StartTime.gt(fourAMTomorrow),
ModelDao.Properties.EndTime.lt(endAt), ModelDao.Properties.Date.eq(date))
.list();
希望这会帮助某人。