Dim ary1() As String = {"分类1", "产品1"}
Dim ary2() As String = {"分类2", "产品2"}
For Each dr1 As DataRow In DataTables("表A").Select("")
Dim filter As String = "1=1"
For Each dc As DataCol In DataTables("表A").DataCols
If DataTables("表B").DataCols.Contains(dc.name) Then
If dr1.IsNull(dc.name) Then
filter &= " and " & dc.name & " is null"
Else
filter &= " and " & dc.name & " = '" & dr1(dc.name) & "'"
End If
End If
Next
For i As Integer = 0 To ary1.length-1
If dr1.IsNull(ary1(i)) Then
filter &= " and " & ary2(i) & " is null"
Else
filter &= " and " & ary2(i) & " = '" & dr1(ary1(i)) & "'"
End If
Next
Dim dr2 As DataRow = DataTables("表B").find(filter)
If dr2 Is Nothing Then
dr2 = DataTables("表B").addnew
For Each dc As DataCol In DataTables("表A").DataCols
If DataTables("表B").DataCols.Contains(dc.name) Then
dr2(dc.Name) = dr1(dc.name)
End If
Next
For i As Integer = 0 To ary1.length-1
dr2(ary2(i)) = dr1(ary1(i))
Next
end if
Next