相同结构的多个表合并到一个表的实现方法

/// <summary>
/// 相同结构的多个表合并到一个表
/// </summary>
/// <param name="ds"></param>
/// <returns></returns>
public DataTable MergeALLDataTable(DataSet ds)
{
DataTable newDataTable = ds.Tables[0].Clone(); //创建新表 克隆以有表的架构。
object[] objArray = new object[newDataTable.Columns.Count]; //定义与表列数相同的对象数组 存放表的一行的值。
for (int i = 0; i < ds.Tables.Count; i++)
{
for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
{
ds.Tables[i].Rows[j].ItemArray.CopyTo(objArray, 0); //将表的一行的值存放数组中。
newDataTable.Rows.Add(objArray); //将数组的值添加到新表中。
}
}
return newDataTable; //返回新表。
}

 

 

相关方法:
用Rows.Add方法 或 DataTable.ImportRow方法
1.
DataTable newDataTable = DataTable1.Clone();
//添加DataTable1的数据
for (int i = 0; i<DataTable1.Rows.Count; i++)
{
DataRow row = DataTable1.Rows[i];
newDataTable.Rows.Add(row);
}
//添加DataTable2的数据
for (int i = 0; i<DataTable2.Rows.Count; i++)
{
DataTable2.Rows[i].ItemArray.CopyTo(obj, 0);
newDataTable.Rows.Add(obj);
}
  
2.
//拷贝DataTable1的结构和数据
DataTable newDataTable = DataTable1.Copy();
//添加DataTable2的数据
foreach (DataRow dr in DataTable2.Rows)
{
newDataTable.ImportRow(dr);
}

posted on 2019-04-08 18:33  贪狼木星  阅读(657)  评论(0编辑  收藏  举报

导航