I am working on android project. I used sqlite database for it. I have tables in database. I have created databasehelper class. i want to count number of records in particul
Using SELECT COUNT(*) FROM table_name
query and, than count the size of Cursor..
The method from Cursor to count size (number of rows in cursor) is,
getCount()
Returns the numbers of rows in the cursor.
OR:
From DatabaseUtils use method queryNumEntries(SQLiteDatabase db, String table)
Like,
long numberOfRows = DatabaseUtils.queryNumEntries(db, "table_name");
which returns the number of rows in the table.
Try this.
Cursor c = db.rawQuery("select * from your_table_name",null);
Log.i("Number of Records"," :: "+c.getCount());
Edit : c.getCount() returns the number of records of particular table.
In Kotlin
fun getFruitTableCount(): Int {
val db = readableDatabase
val numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM " + DBContract.FruitEntry.TABLE_NAME, null).toInt()
return numRows
}
This would be more efficient:
int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null);
Or:
int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
Please try this:
In your DatabaseHelper.java:
public Cursor getYourTableContents() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor data = db.rawQuery("SELECT * FROM " + "Your table name", null);
return data;
}
To get the number of rows in your table:
Cursor yourCursor = myDB.getYourTableContents();
int i = 0;
while (yourCursor.moveToNext()) {
i += 1;
}
i
is your rows count as an integer.