我只需要使用GreenDao返回一列。这是SQL查询:
SELECT NAME FROM PERSON如何使用GreenDao完成此操作?
发布于 2014-02-07 04:58:45
如果您想执行原始查询(DaoSession.getDatabase),那么greenDao确实提供了对底层数据库的访问-在这种情况下,您可能会觉得这会比greenDao更有效-这将涉及到获取所有Person并迭代结果以提取姓名(使用personDao.loadAll()很容易完成)。使用ORM库的想法是使用Person对象,并访问其上的name属性。例如person.getName()。
发布于 2015-01-21 20:33:16
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;
}用这个荣誉让我知道你还想要什么?
https://stackoverflow.com/questions/21585102
复制相似问题