C#的Winform程序,sql 分组统计,然后在dataGridView中显示

来源:百度知道 编辑:UC知道 时间:2024/06/07 07:00:39
access数据库,表名t_szk_a,字段分别为:
RecordId(ID号),C_Date(时间),C_Name(名称),C_ShouRu(收入/数字),C_ZhiChu(支出/数字)
实现功能:
按C_Name(名称)统计分类别显示各类别的总收入、总支出。
这里的C_Name(名称)是用户输入的,具体内容不定。
比如C_Name(名称)为“购物”,然后统计购物的总收入、总支出
最后放在dataGridView中。
高手帮帮忙!!
对了,还想显示各项目的总收入、总支出在全部总收入、总支出所占的百分比

大致实现步骤:
1写一个连接数据库的方法(如下)[最好定义是私有的全局变量]:
public DataSet getCon() {
SqlConnection sqlcon = new SqlConnection("server=.;database=你的数据库名;uid=sa;pwd=;");
SqlDataAdapter sqlda = new SqlDataAdapter("select RecordId as ID号 ,C_Date as 时间,sum (C_ShouRu) as 总收入, sum(C_ZhiChu) as 支出
from t_szk_a group by C_Name where C_Name='购物'", sqlcon);
DataSet objds = new DataSet();
SqlDataAdapter sqlda=new SqlDataAdapter();
sqlda.Fill(objds);
return objds;
}
查询按钮里面的代码(如下):
DataSet ds = new DataSet();
ds = this.getCon();
if (ds.Tables[0].Rows.Count > 0)
{
this.dgvShow.DataSource = ds.Tables[0];

}
else
{
MessageBox.Show("不存在数据!","提示信息");
}
就是这样绑定了~你看看你自己可以不~

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
public void bind()
{