2015-05-04 4 views
0

У меня есть функция, где я хочу получить сумму значений в строке таблицы базы данных MySQL. Это мой код:Курсор возвращается 0

public int getSum(int var) { 

    int x=0; 
    // Select All Query 
    String selectQuery = "SELECT sum(amount) FROM donations WHERE aid = '"+aid+"'"; 

    SQLiteDatabase db = openOrCreateDatabase("shareity", Context.MODE_PRIVATE, null); 
    Cursor cursor = db.rawQuery(selectQuery, null); 

    // looping through all rows and adding to list 
    if (cursor.moveToFirst()) { 
     do { 

      x = cursor.getInt(0); 

     } while (cursor.moveToNext()); 
    } 

    // return contact list 
    Log.d("id", "Id" + "," + x); 
    return x; 
} 

И я звоню это в OnCreate(), как это:

getSum(idk); 

где idk это целое число. Но мое это возвращает 0. Могу ли я узнать, почему, пожалуйста? Строка таблицы Я хочу получить сумму, также целое число.

+0

Попробуйте выполнить запрос непосредственно в mysql и посмотрите, что вы получаете за данное 'help'..soso' WHERE help = '"+ aid +"' ";' вы, возможно, добавили неправильную переменную, так как аргумент функции говорит свой 'var' –

+0

@AbhikChakraborty,' var' соответствует 'idk', который я посылаю в функции onCreate() правильно? Я инициировал 'idk = 0' в классе. Это имеет значение? –

+0

в' getSum' у вас нет 'help' – Blackbelt

ответ

0

Наконец-то выяснилось. Проблема заключалась в базе данных SQLite. Я должен был использовать php-файл для загрузки базы данных с сервера mysql на локальный сервер Sqlite, а затем прокручивать его.

Смежные вопросы