如何计算Android中sqlite中的记录数

时间:2012-09-15 10:30:21

标签: android sqlite

我正在研究android项目。我使用了sqlite数据库。我在数据库中有表。我创建了databasehelper类。我想计算特定表中的记录数。我怎么能实现这个目标?任何帮助将不胜感激?

6 个答案:

答案 0 :(得分:46)

这会更有效:

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

或者:

int numRows = DatabaseUtils.queryNumEntries(db, "table_name");

答案 1 :(得分:15)

使用SELECT COUNT(*) FROM table_name查询,而不是计算Cursor的大小 ..

从Cursor到count size(游标中的行数)的方法是

getCount()

返回光标中的行数。

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

像,

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

返回表格中的行数

答案 2 :(得分:10)

试试这个。

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

修改: c.getCount()会返回特定表格的记录数。

答案 3 :(得分:1)

在科特林

fun getFruitTableCount(): Int {
        val db = readableDatabase
        val numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM " + DBContract.FruitEntry.TABLE_NAME, null).toInt()
        return numRows
    }

答案 4 :(得分: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是您的行计为整数。

答案 5 :(得分: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