如何在ormlite中使用count

时间:2015-03-13 17:23:48

标签: android jquery database sqlite ormlite

List<HoraireDb> horaires_reels = null;
try {   
Dao<HoraireDb, Integer> dao = App.getHelper().getHoraireDao();
QueryBuilder<HoraireDb, Integer> builder = dao.queryBuilder();
Where where = builder.where();
where.eq("isprevis", false);
where.and();
where.eq("idactivite", Param.getIdActivite(App.getContext()));
where.and();
where.eq("jour",moment);
where.and();
where.isNotNull("debut");
where.and();
where.isNotNull("fin");
where.and();
where.ne("etat", "D");
where.and();
where.isNull("idabsence");
where.and();
where.lt("fin",moment);

horaires_reels = dao.query(builder.prepare());
} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

我想返回int行数,因为返回列表需要花费太多时间。我想知道在我的代码中是否有任何方法可以使用countof()

我在stackoverflow中找到了这个答案,但对我不起作用:

int numRows = dao.queryBuilder().where().eq("name", "Joe Smith").countOf();

1 个答案:

答案 0 :(得分:2)

dao = getHelper().getUsuarioDao();
QueryBuilder queryBuilder = dao.queryBuilder();
queryBuilder.setCountOf(true);
queryBuilder.setWhere(queryBuilder.where().eq("name", "Joe Smith" ));
Long usuarios = dao.countOf(queryBuilder.prepare());
Log.d(TAG, "How much name by "Joe Smith" are:" + usuarios);

对我来说这个代码没问题,我在一个开发项目中使用

我希望这是有帮助的。