C# DataTable结构及数据复制

C# 将一个DataTable的结构直接复制到另一个DataTable

DataTable.Clone();//仅复制表结构
DataTable.Copy();//复制表结构及数据

DataTable.ImportRow(DataRow);//复制行数据到新表    

DataRow[] rows = DataTable.Select("Name like'%" + Name + "%'");

rows.CopyToDataTable();//将DataRow[]转化为DataTable  //这条命令执行后就是一个dataTable了哈

 

 

看起来很简单的几行代码,有事可以派上大用处。

下面这个代码是我处理一些告警信息,然后以表的方式插入数据库(这段代码省略),一个方法都用上了。

DataTable dt=new DateTable();  

DataRow dr = dt.NewRow();
dr["描述"] = strs[0];
dr["发生时间"] = strs[1];

 dr["恢复时间"] = strs[2];                    
 dr["对象名称"] = strs[13];
  dt.Rows.Add(dr);               
 //只筛选当天恢复的告警,减少插入数据库数据  ,这里做了一个时间筛选
 string exp = string.Format("恢复时间 > '{0}'", DateTime.Now.ToShortDateString());
 DataRow[] arrRow = dt.Select(exp);
 DataTable ndt = new DataTable();
ndt = dt.Clone();  //复制表结构
ndt=arrRow.CopyToDataTable();  
//去除重复,适用于程序有一段时间没工作,需要处理多个告警文件  
 DataView dv = new DataView(ndt);
 ndt = dv.ToTable(true, new string[] { "描述", "发生时间", "恢复时间", "对象名称"});         
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值