如何汇总SQL数据库列上的所有值并将总计显示为TextView?

时间:2013-11-01 17:48:54

标签: android sql sqlite sum

我正在制作一个财务应用,用户会在SQL数据库中插入记录的费用。我想要做的是检索这些费用的总和并在Textview上显示它。我已经搜索了所有内容,但我仍然无法做到正确,也许是我的愚蠢,但我真的不能。

这是我创建方法以获取TextView

的总和的代码
SQLiteActone actone = new SQLiteActone(this);
    actone.open();
    String returnedTotal = actone.getTotal();
    actone.close();
    tvTotalact1.setText(returnedTotal);

这是该方法的代码:

public String getTotal() {
    // TODO Auto-generated method stub

    Cursor cursor = ourDatabase.rawQuery(
            "SELECT SUM(KEY_VALUEACTONE) FROM DATABASE_TABLEONE ", null);
        if(cursor.moveToFirst()) {
            cursor.getInt(0);
        }
        return cursor;

我知道返回光标;不起作用,它是一个错误,但我返回null;我知道人们只会说null是问题所在。

请帮助我做到这一点! Ty提前全部

2 个答案:

答案 0 :(得分:1)

只需返回int并设置为textview,如:

int sum=getTotal();
text_view_object.setText(""+sum);

和修改后的代码:

public int getTotal() {
// TODO Auto-generated method stub
int sum=0;
Cursor cursor = ourDatabase.rawQuery(
        "SELECT SUM(KEY_VALUEACTONE) FROM DATABASE_TABLEONE ", null);
    cursor.moveToFirst();
    if(cursor.getcount()>0) {
        sum=cursor.getInt(0);
    }
    return sum;
   }

如果这有帮助,请评论我可以帮助你。

答案 1 :(得分:0)

解决了它

Md Mohsin

您的代码存在问题:

int sum=getTotal();
text_view_object.setText(""+sum);

因为我必须调用数据库,所以我需要这样做:

SQLiteActone actone = new SQLiteActone(this);
    actone.open();
    int sum=getTotal();
    actone.close();
    tvTotalact1.setText(""+sum);

但为了它的工作,我需要这个:

而不是int sum = getTotal();我需要先通过引用i调用方法,int sum = actone.getTotal();

再一次为你提供帮助