两个datatable合并的问题
table1 如下Columns1 Columns2 Columns3
1 11111
2 22222
3 33333
4 44444
table2和table1表结构一样
Columns1 Columns2 Columns3
1 1010
2 2020
3 3030
4 4040
5 5050
这两个表的最后列都没有数值。合并之后的效果如下
Columns1 Columns2 Columns3
1 11111 1010
2 22222 2020
3 33333 3030
4 44444 4040
5 5050
有没有简便的方法 --------------------编程问答-------------------- new DataTable().Merge --------------------编程问答-------------------- 能不能具体一点啊 --------------------编程问答-------------------- 用LinQ实现 --------------------编程问答-------------------- datatable 要clon一下。。。不能直接操作。 --------------------编程问答-------------------- 直接Merge是不行的,需要写代码。 --------------------编程问答-------------------- 代码如下:
--------------------编程问答-------------------- 将两个table的pk设为column1,
'声明一个数据行对象数组
Dim dr() As DataRow
'循环第二个表中所有数据
For i As Integer = 0 To table2.Rows.Count - 1
'在第一个表中查找有没有相同的行
dr = table1.Select("Columns1 = " & table2(i)(0))
If dr.Length = 1 Then
dr(0)(2) = table2(i)(1)
Else
table1.Rows.Add()
table1(table1.Rows.Count - 1)(0) = table2(i)(0)
table1(table1.Rows.Count - 1)(2) = table2(i)(1)
End If
Next i
table1.PrimaryKey = New DataColumn() {table1.Columns("column1")}
table2.PrimaryKey = New DataColumn() {table2.Columns("column1")}
如果是table1的值在column2列,table2的值在column3列,
可以直接用table1.merge(table2)得到你想要的效果。 --------------------编程问答-------------------- 不能用merge,只能用代码实现。
补充:.NET技术 , VB.NET