有没有办法从GreenDao Query对象获取Cursor?

时间:2012-11-27 13:03:24

标签: android android-cursor greendao

我正在尝试实现AlphabtIndexer,构造函数需要一个Cursor到数据库中的表。

有没有办法从GreenDao的Query对象中获取Cursor?

3 个答案:

答案 0 :(得分:3)

假设您有查询对象query和dao会话daoSession 你可以跑:

Cursor cursor = daoSession.getDatabase().rawQuery(query.getSql(), query.getParameters());

答案 1 :(得分:3)

GreenDao 2.1,queryBuilder提供了buildCursor()函数

session.getMyObjectDao().queryBuilder()
        .where(MyObjectDao.Properties.Locale.eq("en")))
        .buildCursor().forCurrentThread().query()

答案 2 :(得分:-1)

使用GreenDao 2.1,你可以创建一个QueryBuilder对象,然后在对象上调用buildCursor()。query()来返回一个游标。

DBUserDao userDao = daoSession.getDBUserDao();
QueryBuilder<DBUser> queryBuilder = userDao.queryBuilder().where(DBUserDao.Properties.Phone_number.eq("XYZ"));
Cursor cursor = queryBuilder.buildCursor().query();