18

我正在研究android项目。我为此使用了 sqlite 数据库。我在数据库中有表。我创建了 databasehelper 类。我想计算特定表中的记录数。我怎样才能做到这一点?任何帮助将不胜感激?

4

6 回答 6

52

这会更有效率:

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

或者:

int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
于 2012-09-15T15:07:27.500 回答
17

使用SELECT COUNT(*) FROM table_name查询,然后计算光标的大小..

Cursor 计算大小(游标中的行数)的方法是,

getCount()

返回游标中的行数。

或者:

DatabaseUtils使用方法queryNumEntries(SQLiteDatabase db, String table)

喜欢,

long numberOfRows = DatabaseUtils.queryNumEntries(db, "table_name");

返回表中的行数

于 2012-09-15T10:32:39.490 回答
10

尝试这个。

Cursor c = db.rawQuery("select * from your_table_name",null);
Log.i("Number of Records"," :: "+c.getCount());

编辑: c.getCount()返回特定表的记录数。

于 2012-09-15T10:33:55.803 回答
1

在科特林

fun getFruitTableCount(): Int {
        val db = readableDatabase
        val numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM " + DBContract.FruitEntry.TABLE_NAME, null).toInt()
        return numRows
    }
于 2018-08-10T20:08:14.447 回答
0
In db handler class use this method

Kotlin Code :

fun getCount(): Int {
        val db = this.readableDatabase
        var count= db.rawQuery("SELECT * FROM $TABLE_NAME", null).count
        db.close()
        return count
    }

Then directly call getCount after creating an instance of db handler class
于 2021-07-04T16:04:14.683 回答
0

请试试这个:

在您的 DatabaseHelper.java 中:

public Cursor getYourTableContents() {
  SQLiteDatabase db = this.getWritableDatabase();

  Cursor data = db.rawQuery("SELECT * FROM " + "Your table name", null);

  return data;
}

要获取表中的行数:

Cursor yourCursor = myDB.getYourTableContents();

int i = 0;

while (yourCursor.moveToNext()) {
  i += 1;
}

i您的行数是否为整数。

于 2017-10-30T02:29:31.717 回答