Intereting Posts
Выбор ListView остается постоянным после выхода из режима выбора Создать пользовательский вид, раздувая макет? Ошибка: «app_name» не переведено в af Как я могу обнаружить щелчок на заголовке ActionBar? Android: Как изменить значок «Главная» ActionBar, чтобы быть чем-то другим, кроме значка приложения? Выполнить код в основном потоке в Android без доступа к активности? Как продолжить тестирование инструментальных средств Android после исключения? Android: Как получить пользовательский вид, чтобы частично перерисовать? Изменение ориентации ориентации экрана при запуске AsyncTasks Входящий вызов динамически отменяет стандартную мелодию звонка Как отобразить текущее значение предпочтения Android в сводке предпочтений? Во время экспорта подписанного приложения сбой eclipse Что делать с curl clone.bundle error при синхронизации AOSP repo Причина для активов и ресурсов в Android Атрибут настройки дочернего элемента включенного макета

Как получить количество строк запроса в 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();