C# System.Data.DataTable的两种使用操作

1、System.Data.DataTable的基本操作:

插入列:

        dt.Columns.Add("user_name",typeof(string));   

        或者dt.Columns.Add("id", System.Type.GetType("System.String"));

        或者DataColumn dc = new DataColumn("foldername", System.Type.GetType("System.String"));

                dt.Columns.Add(dc);

添加数据:

        DataRow dr=dt.NewRow();   

       dr[0]="zhangsan";   

       dt.Rows.Add(dr);  

修改数据:

       DataRow dr = dt.Rows[i];   

       dr.BeginEdit();   

       dr[0] = this.textBox1.Text;   

       dr.EndEdit();

删除数据:

      DataRow dr = dt.Rows[i]; 

      dt.Rows.Remove(dr);

     或者dr.Delete();  

 

2、System.Data.DataTable的表达式操作(类似sql操作):

查找行(检索):

    DataRow[] drs = dt.Select("id is null");   

排序:

    dt.DefaultView.Sort = "id desc,foldername";   

    dt = dt.DefaultView.ToTable();   

统计操作方法(Compute):

     public object Compute(string strExpression,stringstrFilter)

                strExpression:要计算的表达式字符串,基本上类似于Sql ******中的统计表达式

                strFilter:统计的过滤字符串,只有满足这个过滤条件的记录才会被统计  (可以设置成true进行无条件)

    例:table.Compute("Count(*)","Birthday<’"+today);    //today为日期字符串

            table.Compute("Aver(Price)","true");  //统计平均

            table.Compute("Aver(Price)","true");  //统计平均

            table.Compute("Sum(Quantity)","ProID=1");   //求和

      注意: 这种复杂的表达式是不支持的,需要先在每一行中添加一个合计列,最后针对这个合计列进行求和

                          错误的写法: table.Compute("Sum(Quantity*Price)","true");

                          正确的写法: table.Columns.Add("total",typeof(decimal), “Quantity*Price” );   

                                                    table.Compute("Sum(total)","true");

你可能感兴趣的:(C#编程)