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)
}

    

原文地址:https://www.cnblogs.com/dxmdiy/p/2805283.html