ORMLite查询date

我试图查询low和hign值之间的date:

Car car = new Car(1, "octavia"); car.setManufactured(Calendar.getInstance().getTime()); Dao<Car, Integer> carDao = getHelper().getCarDao(); carDao.create(car); QueryBuilder<Car, Integer> carQb = carDao.queryBuilder(); Calendar yesteday = Calendar.getInstance(); yesteday.add(Calendar.DATE, -1); Calendar tommorrow = Calendar.getInstance(); yesteday.add(Calendar.DATE, 1); carQb.where().between("manufactured", yesteday.getTime(), tommorrow.getTime()); PreparedQuery<Car> query = carQb.prepare(); List<Car> cars = carDao.query(query); Log.d(TAG, cars.get(0).toString()); 

汽车对象看起来这样:

 public class Car { @DatabaseField(id = true) private int id; @DatabaseField String name; @DatabaseField(foreign = true, foreignAutoRefresh = true) User user; @DatabaseField(foreign = true, foreignAutoRefresh = true) private Brand brand; @DatabaseField(columnName="manufactured") private Date manufactured; } 

不幸的是,我没有得到任何结果。 哪里可能是一个问题?

  • 不会调用Sqlite数据库onUpgrade()
  • Android的SQLite - select字段为空或空的logging
  • 带整数列的SQLite表存储string
  • Android SQLite数据库被损坏
  • 为什么我的exception处理程序没有捕获Android SQLite插入错误?
  • 如何在Android上扩展ORMLite的BaseDaoImpl类以扩展function
  • 是否有可能获得一个apk的sqlite数据库的只读访问?
  • Sqlite数据库安全
  • 这是你的问题:你做了一个剪贴错误。 你明天设定等于今天,然后无意中设定昨天等于明天。 没有比明天更多,比今天更less的日子,所以你没有回去。

    改变你的代码看起来像这样:

     Calendar tommorrow = Calendar.getInstance(); tomorrow.add(Calendar.DATE, 1); // change yesterday to tomorrow