这个要用到数据行数组DataRow[]DataTable DT=new DataTable();;
DataRow DR;
DataColumn DC;求和:
DataRow[] dr=DT.Select();
for(i=0;i<dr.Length;i++)
{
  int sum=0;
  sum+=(int)dr[i]["ColumnName"];
}
查找符合条件的记录:
这个要用DataReader
SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd=;DataBase=Northwind");
  DataTable dt=new DataTable();
  DataRow dr;
  SqlCommand cmd=new SqlCommand("select * from Customers",conn);
  conn.Open();
  SqlDataReader sdr=cmd.ExecuteReader();
  
  dt.Columns.Add("CustomerID",System.Type.GetType("System.String"));
  dt.Columns.Add("CompanyName",System.Type.GetType("System.String"));
  dt.Columns.Add("Address",System.Type.GetType("System.String"));
  dt.Columns.Add("City",System.Type.GetType("System.String"));
  dt.Columns.Add("Region",System.Type.GetType("System.String"));
  dt.Columns.Add("Country",System.Type.GetType("System.String"));
  
  while(sdr.Read())
  {
    if(sdr["Country"].ToString()=="USA")
{
  dr=dt.NewRow();
  dr["CustomerID"]=sdr["CustomerID"].ToString();
  dr["CompanyName"]=sdr["companyName"].ToString();
  dr["Address"]=sdr["Address"].ToString();
  dr["City"]=sdr["City"].ToString();
  dr["Region"]=sdr["Region"].ToString();
  dr["Country"]=sdr["Country"].ToString();
  dt.Rows.Add(dr);
}
  }
  dg.DataSource=dt;
  dg.DataBind();
  conn.Close();

解决方案 »

  1.   

    充电大虾:
    DataReader应该是直接从数据库里面读写,查找数据的吧?
    我需要的是从dataset里面的datatable读写查找数据的功能,这可不一样。
      

  2.   

    DataTable 的操作可以用select()和compute()操作。
    都可以根据条件来选择需要的数据。
    object objSum = myTable.Compute("Sum(Total)", "EmpID = 5");
      

  3.   

    Sorry,没有注意
    第一个我想没问题,显示符合条件的如下:
    DG.DataSource=DT.DefaultView.RowFilter="ColumnName='值'";
    DG.DataBind();
      

  4.   

    2,计算符合条件的记录数,类似 select count()to a where (……)……这个你用select函数找出的DataRow数组的Length不就是了??