Intereting Posts

Как получить количество строк запроса в Android с помощью SQLite?

Как получить количество строк запроса в Android с помощью SQLite? Кажется, мой следующий метод не работает.

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; } 

Solutions Collecting From Web of "Как получить количество строк запроса в Android с помощью SQLite?"

Cursor.getCount()

 cursor.moveToNext(); cursor.getCount(); 

Если moveToNext () не вызывается, может возникнуть курсорIndexOutOfBoundException.

Это было бы более эффективно, потому что работа для всех версий:

 int numRows = DatabaseUtils.longForQuery(db, "SELECT COUNT(*) FROM table_name", null); 

или

 int numRows = DatabaseUtils.queryNumEntries(db, "table_name"); 

Или если вы хотите получить количество строк, которые имеют конкретный выбор, то вам следует пойти (добавлено в API 11)

 public static long queryNumEntries (SQLiteDatabase db, String table, String selection) 

Благодаря 🙂

Запросить столбец _ID в таблице, а затем вызвать getCount на курсор. Вот ссылка, которую я делаю в одном из моих проектов. Посмотрите на номер строки 110.

В DatabaseUtils

 public static long queryNumEntries(SQLiteDatabase db, String table) 

Используйте String вместо int

 String strCount = ""; 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()){ strCount = cursor.getString(cursor.getColumnIndex("COUNT(*)")); } count = Integer.valueOf(strCount).intValue(); в String strCount = ""; 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()){ strCount = cursor.getString(cursor.getColumnIndex("COUNT(*)")); } count = Integer.valueOf(strCount).intValue();