如何将两个数据表合并到同一行中。我正在使用不同的存储过程将数据导入数据集。在使用 c# 的 asp.net 中,我想合并它们,以便表 1 的行数与表 2 中的添加列相同。
例如:
DataTable table1 = dsnew.Tables[0];
DataTable table2 = dsSpotsLeft.Tables[0];
table1.Merge(table2);
这为我获取了 4 行而不是 2 行。我在这里错过了什么?提前致谢!!
在这种情况下不能使用Merge
方法,而应该创建新的DataTable
dt3,然后根据表1和表2添加列和行:
var dt3 = new DataTable();
var columns = dt1.Columns.Cast<DataColumn>()
.Concat(dt2.Columns.Cast<DataColumn>());
foreach (var column in columns)
{
dt3.Columns.Add(column.ColumnName, column.DataType);
}
//TODO Check if dt2 has more rows than dt1...
for (int i = 0; i < dt1.Rows.Count; i++)
{
var row = dt3.NewRow();
row.ItemArray = dt1.Rows[i].ItemArray
.Concat(dt2.Rows[i].ItemArray).ToArray();
dt3.Rows.Add(row);
}
我是一名优秀的程序员,十分优秀!