I'd like to get the value of Count column from cursor.
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;
}
}
I tried to get this count column value from cursor like below
Cursor cR = mDbHelper.getRCount(cplace);if (cR.getCount() > 0){long lCount = cR.getLong(0);}cR.close();}
I got the debug error. How to get it?
PS: Could I use nested cursors?
The
Cursor
is positioned before the first row when you get it back fromrawQuery()
. CallmoveToFirst()
before attempting to use theCursor
, and your problem should go away.You should use DatabaseUtils.longForQuery utility method to run the query on the db and return the value in the first column of the first row.