随笔 - 52  文章 - 0  评论 - 1  阅读 - 60160

C#合并两张表结构相同(列数和列类型都相同)的表

DataTable appendDataTable=new DataTable();

这个合并的大前提是两张表的结构相同且列的类型也必须相同 否则在赋值时就会出现异常。

for (int i = 0; i < hostDt.Columns.Count;i++ )
{
appendDataTable.Columns.Add(hostDt.Columns[i].ColumnName,hostDt.Columns[i].DataType);//循环来源表的列的集合,给新表appendDataTable添加列

//注意:appendDataTable.Columns.Add(a,b) a代表列名,b代表该列的类型 如果省略第二个参数,那么添加的该列的类型就会变成string类型
}

还有一种方法:appendDataTable=hostDt.Clone();克隆来源表的所有信息(不包括数据)包括(表结构、约束等等)

for (int j = 0; j < hostDt.Rows.Count; j++)
{
DataRow dr = appendDataTable.NewRow();           //创建与该表appendDataTable结构相同的新行
for (int i = 0; i < hostDt.Columns.Count;i++ )
{
dr[i] = hostDt.Rows[j][i];   //把来源表指定行的数据赋给新创建的行 
}
appendDataTable.Rows.Add(dr);   //该表appendDataTable添加创建的新行   还有一种方法可以这么写:appendDataTable.ImportRow(dr)
}

    

posted on   追求高级技术  阅读(1321)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
< 2012年12月 >
25 26 27 28 29 30 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示