How to get the row count of a query in Android using SQLite?
Cursor.getCount()
cursor.moveToNext();
cursor.getCount();
If the moveToNext() is not called, the cursorIndexOutOfBoundException may arise.
This would be more efficient because work for all versions:
int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null);
or
int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
or if you want to get number of rows which specific selection then you should go with (added in API 11)
public static long queryNumEntries (SQLiteDatabase db, String table, String selection)
Thanks :)
use String instead of int
String strCount = "";
int count = 0;
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
Cursor cursor = db.rawQuery(
"select count(*) from downloadedFragement where mixId=?",
new String[]{String.valueOf(mixId)});
while(cursor.moveToFirst()){
strCount = cursor.getString(cursor.getColumnIndex("COUNT(*)"));
}
count = Integer.valueOf(strCount).intValue();