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