Je travaille sur un projet Android. J'ai utilisé la base de données sqlite pour cela. J'ai des tables dans la base de données. J'ai créé la classe databasehelper. Je veux compter le nombre d'enregistrements dans une table particulière. Comment puis-je atteindre cet objectif ? toute aide serait appréciée?
Ce serait plus efficace:
int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null);
Ou:
int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
À l'aide de la requête SELECT COUNT(*) FROM table_name
et, que compte la taille du curseur ..
La méthode du curseur à la taille de comptage (nombre de lignes dans le curseur) est,
getCount()
Retourne le nombre de lignes dans le curseur.
OU:
De DatabaseUtils use method queryNumEntries(SQLiteDatabase db, String table)
Comme,
long numberOfRows = DatabaseUtils.queryNumEntries(db, "table_name");
which retourne le nombre de lignes de la table.
Essaye ça.
Cursor c = db.rawQuery("select * from your_table_name",null);
Log.i("Number of Records"," :: "+c.getCount());
Edit: c.getCount () renvoie le nombre d'enregistrements d'une table particulière.
À Kotlin
fun getFruitTableCount(): Int {
val db = readableDatabase
val numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM " + DBContract.FruitEntry.TABLE_NAME, null).toInt()
return numRows
}
S'il vous plaît essayez ceci:
Dans votre DatabaseHelper.Java:
public Cursor getYourTableContents() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor data = db.rawQuery("SELECT * FROM " + "Your table name", null);
return data;
}
Pour obtenir le nombre de lignes dans votre table:
Cursor yourCursor = myDB.getYourTableContents();
int i = 0;
while (yourCursor.moveToNext()) {
i += 1;
}
i
est votre nombre de lignes comme un entier.