Android 返回0的游标

Android 返回0的游标,android,mysql,cursor,Android,Mysql,Cursor,我有一个函数,我想在其中获取MySQL数据库表行上的值之和。这是我的代码: 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", Con

我有一个函数,我想在其中获取MySQL数据库表行上的值之和。这是我的代码:

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。我能知道为什么吗?我想求和的表行也是整数。

终于算出了。问题在于SQLite数据库。我必须使用一个php文件将数据库从mysql服务器下载到本地Sqlite服务器,然后循环使用它

直接在mysql中尝试查询,看看给定的aid得到了什么..这里aid='+aid+';您可能添加了错误的变量,因为函数参数表示var@AbhikChakraborty,var对应于我在onCreate函数中发送的idk,对吗?我已在课堂上启动idk=0。这会有区别吗?在getSum中,当您将函数调用为getSumidk时,没有AID;这意味着您将发送一些值作为参数,并且该值现在在变量idk中,函数定义是public int getSumint var,因此在函数内部它只知道var,在查询中,在这里aid='+aid+'它应该在那里aid='+var+'@AbhikChakraborty,好的,我按照您提到的那样做了,但仍然没有。