2015-05-04 44 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中試着查詢,看看你得到的是給定的'aid'..also WHERE ''+ aid +''「;''你可能添加了錯誤的變量,因爲函數參數表示它的'var' –

+0

@AhhkChakraborty,'var'對應於我在onCreate()函數中發送的'idk'?我已經在課堂上啓動了'idk = 0',這是否有所作爲? –

+0

in'getSum'你沒有'aid' – Blackbelt

回答

0

終於搞明白了。問題出在SQLite數據庫上。我不得不使用一個php文件從mysql服務器下載數據庫到本地Sqlite服務器,然後通過它循環