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");