我想从光标中获取Count列的值。
public Cursor getRCount(String iplace) throws SQLException
{
try {
String strSql = "SELECT COUNT(_id) AS RCount FROM tbName WHERE place= '" + iplace + "'";
return db.rawQuery(strSql, null);
} catch (SQLException e) {
Log.e("Exception on query", e.toString());
return null;
}
}
我试图从光标中获取此计数列值,如下所示
Cursor cR = mDbHelper.getRCount(cplace);if (cR.getCount() > 0){long lCount = cR.getLong(0);}cR.close();}
我收到了调试错误。怎么弄?
PS:我可以使用嵌套游标吗?
答案 0 :(得分:9)
您应该使用DatabaseUtils.longForQuery实用程序方法在db上运行查询并返回第一行第一列中的值。
int sometotal=DatabaseUtils.longForQuery(db,"SELECT COUNT(_id) AS RCount FROM tbName WHERE place= '" + iplace + "'",null);
答案 1 :(得分:0)
当Cursor
从rawQuery()
取回时,moveToFirst()
位于第一行之前。在尝试使用Cursor
之前请致电{{1}},您的问题应该消失。