如何获得计数列

时间:2010-05-12 09:20:36

标签: android cursor

我想从光标中获取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:我可以使用嵌套游标吗?

2 个答案:

答案 0 :(得分:9)

您应该使用DatabaseUtils.longForQuery实用程序方法在db上运行查询并返回第一行第一列中的值。

int sometotal=DatabaseUtils.longForQuery(db,"SELECT COUNT(_id) AS RCount FROM tbName WHERE place= '" + iplace + "'",null);

答案 1 :(得分:0)

CursorrawQuery()取回时,moveToFirst()位于第一行之前。在尝试使用Cursor之前请致电{{1}},您的问题应该消失。