以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 关于数据集合比较  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122818)

--  作者:mikee
--  发布时间:2018/8/2 16:08:00
--  [求助] 关于数据集合比较

请教如何比较两个表查询得到的数据集合是否一致(记录数, 相同列名对应的内容),如果不一致,则将“临时表”的值赋给“合同表”

    Dim Ar As New List(Of DataRow)
    Ar= DataTables("临时表").Select("合同号 = \'" & SA & "\'")

    Dim Br As New List(Of DataRow)
    Br= DataTables("合同表").Select("合同号= \'" & SA & "\'")

--  作者:有点甜
--  发布时间:2018/8/2 16:53:00
--  

用filler处理吧

 

http://www.foxtable.com/webhelp/scr/0680.htm

 

 


--  作者:有点甜
--  发布时间:2018/8/2 16:56:00
--  

直接写代码也行

 


Dim Ar As New List(Of DataRow)
Ar= DataTables("临时表").Select("合同号 = \'" & SA & "\'")
Dim Br As New List(Of DataRow)
Br= DataTables("合同表").Select("合同号= \'" & SA & "\'")
For Each adr As DataRow In ar
    Dim contains As Boolean = False
    For Each bdr As DataRow In br
        Dim flag = True
        For Each dc As DataCol In DataTables("合同表").datacols
            If adr(dc.name) <> bdr(dc.name) Then
                flag = False
                Exit For
            End If
        Next
        If flag = True Then
            contains = True
            Exit For
        End If
    Next
    If contains = False Then
        msgbox("不存在")
    End If
Next

 


--  作者:mikee
--  发布时间:2018/8/2 17:23:00
--  
好的,多谢。两种方法我都尝试下。