Dav*_*vid 51 sqlite android row count
如何使用SQLite获取Android中查询的行数?看来我的以下方法不起作用.
public int getFragmentCountByMixId(int mixId) {
int count = 0;
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
Cursor cursor = db.rawQuery(
"select count(*) from downloadedFragement where mixId=?",
new String[]{String.valueOf(mixId)});
while(cursor.moveToFirst()){
count = cursor.getInt(0);
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
mic*_*elg 105
cursor.moveToNext();
cursor.getCount();
Run Code Online (Sandbox Code Playgroud)
如果未调用moveToNext(),则可能出现cursorIndexOutOfBoundException.
这会更有效,因为适用于所有版本:
int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null);
Run Code Online (Sandbox Code Playgroud)
或者
int numRows = DatabaseUtils.queryNumEntries(db, "table_name");
Run Code Online (Sandbox Code Playgroud)
或者如果您想获得特定选择的行数,那么您应该使用(在 API 11 中添加)
public static long queryNumEntries (SQLiteDatabase db, String table, String selection)
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
| 归档时间: |
|
| 查看次数: |
50084 次 |
| 最近记录: |