我写了一个应用程序,其中包含一个SQLite数据库,并有一个名为&#34的表;通知"。
我想通过使用名为" packageName"的列来获取记录计数。从前面提到的表格。
我该怎么做?
代码:
public long getRecordsCount() {
SQLiteDatabase db = this.getReadableDatabase();
long count = DatabaseUtils.queryNumEntries(db, CNotificationDataBaseTableDeclarations.NotificationsTable.TABLE_NAME);
db.close();
return count;
}
答案 0 :(得分:0)
试试这个:
public long getRecordsCount() {
SQLiteDatabase db = getReadableDatabase();
try {
String selectQuery =
"SELECT COUNT(*)" +
" FROM " + CNotificationDataBaseTableDeclarations.NotificationsTable.TABLE_NAME +
" WHERE " + YOUR_SPECIFIC_COLUMN + " = 'COLUMN_VALUE'";
return DatabaseUtils.longForQuery(db, selectQuery, null);
} finally {
db.close();
}
}
答案 1 :(得分:0)
有一个queryNumEntries()版本允许您使用与普通查询相同的selection
过滤:
long count = DatabaseUtils.queryNumEntries(db,
CNotificationDataBaseTableDeclarations.NotificationsTable.TABLE_NAME,
YOUR_SPECIFIC_COLUMN + " = 42", null);
或字符串值:
...
YOUR_SPECIFIC_COLUMN + " = ?", new String[]{ "your value" });