在数据库中。
public int getCnt() {
String countQuery = "SELECT * FROM " + TABLE_LOG;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null)
int cnt = cursor.getCount();
cursor.close();
return cnt;
}
也尝试了
public long getCnt() {
SQLiteDatabase db = this.getReadableDatabase();
long cnt = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM " + TABLE_LOG, null);
return cnt;
}
主中的
int x =0; // long for other func..
x = dbh.getCnt();
Toast.makeText(getApplicationContext(),String.valueOf(x),Toast.LENGTH_SHORT).show();
if(x==0){
//do some stuff
}
else{
//do some other stuff
}
它可以工作,但只有当表有0行时, 当它遇到任何行时我不知道出了什么问题但是 app停止,,如果需要任何其他信息,请告诉我
答案 0 :(得分:1)
尝试这样的事情。
Cursor cur = db.rawQuery("SELECT SUM(myColumn) FROM myTable", null);
if(cur.moveToFirst())
{
return cur.getInt(0);
}
答案 1 :(得分:1)
首先,如果您只是想要计数,那么在行中加载数据是非常低效的。如果你想要计算,你应该使用queryNumEntries。