2014年7月16日水曜日

Android : SQLite でレコード数を調べる - COUNT を使用する


このエントリーをはてなブックマークに追加
SUM, TOTAL の場合と同じく、rawQuery を使用して1行1列の Cursor を取得し、その結果を cursor.getInt(0) で取得する、という流れです。以下サンプル。SQLiteOpenHelper 内を想定して getReadableDatabase() を使っています。


int getRecordCount(long id){
    SQLiteDatabase db = getReadableDatabase();
    Cursor cursor = db.rawQuery(
        String.format("SELECT COUNT(*) FROM %s WHERE %s = %d", TABLE_NAME, COLUMN_ID, id), null);
    int count = 0;
    if(cursor.moveToNext()){
        count = cursor.getInt(0);
    }
    cursor.close();
    db.close();
    return count;
}

0 件のコメント:

コメントを投稿