How to count number of records in sqlite in Android

后端 未结 5 692
礼貌的吻别
礼貌的吻别 2020-12-16 13:05

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

相关标签:
5条回答
  • 2020-12-16 13:48

    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.

    0 讨论(0)
  • 2020-12-16 13:55

    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.

    0 讨论(0)
  • 2020-12-16 13:59

    In Kotlin

    fun getFruitTableCount(): Int {
            val db = readableDatabase
            val numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM " + DBContract.FruitEntry.TABLE_NAME, null).toInt()
            return numRows
        }
    
    0 讨论(0)
  • 2020-12-16 14:01

    This would be more efficient:

    int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null);
    

    Or:

    int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
    
    0 讨论(0)
  • 2020-12-16 14:11

    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.

    0 讨论(0)
提交回复
热议问题