当前位置:编程学习 > C#/ASP.NET >>

两个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是不行的,需要写代码。 --------------------编程问答-------------------- 代码如下:

'声明一个数据行对象数组
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
--------------------编程问答-------------------- 将两个table的pk设为column1,
 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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,