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