我想在C#+ACCESS数据库中查询出介于指定日期条件(text3.text和text4.text,二者中分别输入起止日期,如2008-08-13格式)的所有记录显示在GridView2对象中(下面代码的绿色部分,可以实现),同时汇总出这些记录的ACEPAY字段的总和,并将这个结果赋于label1.text显示在屏幕是上,我写的部分代码如下,请大家指教红色处这一关键的汇总语句该怎样写,或赐予更简单的方法,不胜感激!学习学习,现在感觉学习C#这个东东还真有点困难,望高手多多赐教,谢谢! string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/data/abc.mdb");
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DateTime datt3 = Convert.ToDateTime(TextBox3.Text);
DateTime datt4 = Convert.ToDateTime(TextBox4.Text);
String sql = "select numbe1,nam1,se1,from xsjf where enter_dat1 > #" + datt3 + "# and enter_dat1 < #" + datt4 + "#";
////以下这句为汇总满足条件的记录的ACEPAY字段的和,我写的这个不对,请大家指教
select sum(ACEPAY) from ACS where enter_dat1 > #" + datt3 + "# and enter_dat1 < #" + datt4 + "#";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader reader = cmd.ExecuteReader();
GridView2.DataSource = reader;
GridView2.DataBind();
label1.text=??????
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DateTime datt3 = Convert.ToDateTime(TextBox3.Text);
DateTime datt4 = Convert.ToDateTime(TextBox4.Text);
String sql = "select numbe1,nam1,se1,from xsjf where enter_dat1 > #" + datt3 + "# and enter_dat1 < #" + datt4 + "#";
////以下这句为汇总满足条件的记录的ACEPAY字段的和,我写的这个不对,请大家指教
select sum(ACEPAY) from ACS where enter_dat1 > #" + datt3 + "# and enter_dat1 < #" + datt4 + "#";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader reader = cmd.ExecuteReader();
GridView2.DataSource = reader;
GridView2.DataBind();
label1.text=??????
用dataset
String sql = "select numbe1,nam1,se1,ACEPAY from xsjf where enter_dat1 > #" + datt3 + "# and enter_dat1 < #" + datt4 + "#";
//这sql有问题的吧...ACS表名?
DataSet ds = new DataSet();//填充ds,去查dataset的用法
DataTable dt = ds.Tables[0];
GridView2.DataSource = dt;
GridView2.DataBind(); label1.Text=dt.Compute("sum(ACEPAY)","").ToString();
是错了,应为String sql = "select numbe1,nam1,se1,ACEPAY from ACS where enter_dat1 > #" + datt3 + "# and enter_dat1 < #" + datt4 + "#";
谢谢!我现就去学学dataset的用法。