android中多个值求和,Android获取数据库列的总和

这篇博客探讨了如何在Android应用中计算数据库某列(如金额)的总和。作者展示了部分代码,其中包括从数据库中读取记录和显示单个值,但遇到了获取列总和的困难。提供的DatabaseAdapter类包含了创建、更新、删除和查询记录的方法,但未实现求和功能。寻求社区的帮助以完成这个功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我需要帮助总结我的数据库中的一列(金额)中的所有值.我可以得到一个特定的价值.但我需要一个特定栏目的总和,有人告诉我我做错了什么

这是我的代码

Button button3 = (Button) findViewById(R.id.button3);

button3.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

DatabaseAdapter databaseAdapter = new DatabaseAdapter(getApplicationContext());

databaseAdapter.open();

ArrayList records = databaseAdapter.fetchAllRecords();

if (records.size() > 0) {

et.setText(records.get(0));

}

databaseAdapter.close();

}

});

//Create our database by opening it and closing it

DatabaseAdapter databaseAdapter = new DatabaseAdapter(getApplicationContext());

databaseAdapter.open();

databaseAdapter.close();

}

private Object append(CharSequence text) {

// TODO Auto-generated method stub

return null;

}

/** Create a new dialog for date picker */

@Override

protected Dialog onCreateDialog(int id) {

switch (id) {

case DATE_DIALOG_ID:

return new DatePickerDialog(this, pDateSetListener, pYear, pMonth, pDay);

}

return null;

}

}

这是数据库部分DatabaseAdapter.java

package com.example.androidtablayout;

import java.util.ArrayList;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.SQLException;

import android.database.sqlite.SQLiteDatabase;

import android.text.Editable;

public class DatabaseAdapter {

private Context context;

private SQLiteDatabase database;

private DatabaseOpenHelper dbHelper;

public DatabaseAdapter(Context context) {

this.context = context;

}

public DatabaseAdapter open() throws SQLException {

dbHelper = new DatabaseOpenHelper(context);

database = dbHelper.getWritableDatabase();

return this;

}

public void close() {

dbHelper.close();

}

public long createRecord(String text,int j,String text1,String text2) {

ContentValues contentValue = new ContentValues();

contentValue.put("date", text);

contentValue.put("amount", j);

contentValue.put("des", text1);

contentValue.put("category", text2);

return database.insert("Extable", null, contentValue);

}

public boolean updateRecord(long rowId,String text,int j,String text1,String text2) {

ContentValues contentValue = new ContentValues();

contentValue.put("date", text);

contentValue.put("amount", j);

contentValue.put("des", text1);

contentValue.put("category", text2);

return database.update("Extable", contentValue, "_id =" + rowId, null) > 0;

}

public boolean deleteRecord(long rowId) {

return database.delete("Extable", "_id =" + rowId, null) > 0;

}

public ArrayList fetchAllRecords() {

Cursor cursor = database.query("Extable", new String[] { "_id", "date", "amount", "des", "category"},

null, null, null, null, null);

ArrayList records = new ArrayList();

cursor.moveToFirst();

for (int i = 0; i < cursor.getCount(); i++) {

records.add(cursor.getString(1));

cursor.moveToNext();

}

cursor.close();

return records;

}

public String fetchRecord(long rowId) throws SQLException {

Cursor mCursor = database.query(true, "Extable", new String[] { "_id",

"date","amount", "des","category" }, "_id ="+ rowId, null, null, null, null, null);

if (mCursor != null) {

mCursor.moveToFirst();

return (mCursor.getString(1));

}

return null;

}

public Cursor rawQuery(String string, Object object) {

// TODO Auto-generated method stub

return null;

}

请任何人帮助我.

感谢你

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值