2013-03-10 5 views
0

Я пытаюсь добавить кредитную оценку из нескольких записей таблицы SQLite.Добавление данных из столбца SQLite

В каждой записи есть столбец под названием кредитный балл, я хочу добавить их все вместе, но у меня проблемы.

Вот код:

String[] projection2 = { BorrowMeTable.COLUMN_CREDIT_SCORE }; 
Cursor databaseCursor2 = getContentResolver().query(uri, projection2, 
     null, null, null); 
int number = 0; 
if (databaseCursor2 != null) { 
    databaseCursor2.moveToFirst(); 
    while (databaseCursor2.moveToNext()) { 
     number = number + databaseCursor2.getInt(
       databaseCursor2.getColumnIndexOrThrow(
         BorrowMeTable.COLUMN_CREDIT_SCORE)); 
    } 
} 
Log.d("SCORE", Integer.toString(number)); 

Проблема заключается в while заявление, когда он находится в месте, не тянет никаких данных. Когда я удаляю его, он извлекает правильные данные, но только из одной записи.

+0

Сколько записей в курсоре? –

ответ

1

Используйте funstion сумму в SQLite

Cursor cursor = sqliteDatabase2.rawQuery(
    "SELECT SUM(COLUMN_CREDIT_SCORE) FROM BorrowMeTable", null); 

Вы можете соответствовать URI это в ContentProvider как разные URI

Тогда просто получить скалярное значение:

if(cursor.moveToFirst()) { 
    return cursor.getInt(0); 
0

Используйте DO- >, начиная с первой записи

do{ 
    number = number + databaseCursor2.getInt(
      databaseCursor2.getColumnIndexOrThrow(
        BorrowMeTable.COLUMN_CREDIT_SCORE)); 
}while (databaseCursor2.moveToNext());