【问题标题】:compare two record sets in vb6比较vb6中的两个记录集
【发布时间】:2019-12-30 23:56:33
【问题描述】:

我在 vb6 中有两个记录集 rs1 和 rs2。我想将 rs1 中的每条记录与 rs2 中的每条记录进行比较。如果 rs1 中的 rtn(column) 与 rs2 中的 rtn 相同,则 set date = nowclaim = c

这就是我想做的。如何比较rs1中的每一行和rs2中的每一行?

【问题讨论】:

    标签: vb6


    【解决方案1】:

    只需在类似于以下的内部和外部循环中循环两个记录集

    rs1.MoveFirst
    While not rs1.EOF
        rs2.MoveFirst 
        While not rs2.EOF
            'Do your comparisons here'
             if rs1("colum").value = rs2("column").value then
                'do other stuff
             end if  
            rs2.MoveNext
        Wend
    rs1.MoveNext
    Wend
    

    如果您需要比较每个字段,您可以遍历类似于以下的字段 这假设记录集以相同的顺序具有相同的字段

    Dim i as integer
    for i = 0 to rs1.Fields.Count -1
      if rs.fields(i).Value = rs2.fields(i).value then
          'DO other stuff'
      End if
    Next i
    

    【讨论】:

      【解决方案2】:

      更好的解决方案是在 Query/SQL 中进行比较,而不是在代码中进行比较,以便从单个查询中返回每个不匹配的行。

      例如

      SELECT T1.*,T2.* 
      FROM T1,T2
      WHERE (T1.ID=T2.ID) AND 
           ((T1.Field1<>T2.Field1) OR (T1.Field2<>T2.Field2) ...)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-02
        • 2015-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多