GreenDao选择单列?

时间:2014-02-05 18:09:58

标签: android greendao

我需要使用GreenDao返回一个列。这是SQL查询:

SELECT NAME FROM PERSON

我怎样才能使用GreenDao?

2 个答案:

答案 0 :(得分:0)

如果你想要执行原始查询(DaoSession.getDatabase),greenDao确实提供了对底层数据库的访问 - 在这种情况下你可能会觉得比greenDao替代方案更有效 - 这将涉及获取所有人并迭代提取名称的结果(使用personDao.loadAll()轻松完成)。使用ORM库的想法是使用Person对象,并在其上访问name属性。例如person.getName()。

答案 1 :(得分:0)

public static ArrayList<ArrayList<String>> rawQuery(final String query) {
        SQLiteDatabase db = DBHelper.getDaoSession().getDatabase();
        Cursor cursor = db.rawQuery(query, null);
        retList = new ArrayList<ArrayList<String>>();
        ArrayList<String> list = new ArrayList<String>();
        if (cursor.moveToFirst()) {
            do {
                list = new ArrayList<String>();
                for (int i = 0; i < cursor.getColumnCount(); i++) {
                    list.add(cursor.getString(i));
                }
                retList.add(list);
            } while (cursor.moveToNext());
        }
        if (cursor != null && !cursor.isClosed()) {
            cursor.close();
        }

        return retList;

    }

使用这个荣誉让我知道你想要更多的东西吗?