user3542605
user3542605

Reputation: 27

How to use count in 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();
}

I want to return an int just the number of rows, because returning a list takes too much time. I want to know if there's any way to use countof() for in my code?

I found in stackoverflow this answer but didn't work for me :

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

Upvotes: 1

Views: 2686

Answers (1)

Juan Chica
Juan Chica

Reputation: 46

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);

for me this code is ok, I used in a project that is development

I hope that is help.

Upvotes: 3

Related Questions