+ -
当前位置:首页 → 问答吧 → 如何进行有逗号的数据对比

如何进行有逗号的数据对比

时间:2011-10-02

来源:互联网

A=23,35,36,37,38,1,
B=1,23,38,36,37,35,

如何进行2组数据的对比~
if A=B Then 
数据正确
Else 
数据不正确

End if

作者: bokecn   发布时间: 2011-10-02

VBScript code

<%
A = "23,35,36,37,38,1"
B = "1,23,38,36,37,35"

If cmpArr(A, B) Then
    Response.Write "数据正确"
Else
    Response.Write "数据不正确"
End If

Function cmpArr(A, B)
    Dim arrA, arrB
    Dim rsA, rsB
    Dim i, bEq

    arrA = Split(A, ",")
    arrB = Split(B, ",")
    Set rsA = CreateObject("ADODB.RecordSet")
    With rsA
        .CursorLocation = 3
        .Fields.Append "n", 3, 4
        .Open
        For i = 0 To UBound(arrA)
            If IsNumeric(arrA(i)) Then
                .AddNew
                .Fields(0).Value = arrA(i)
            End If
        Next
        .Update
    End With
    Set rsB = CreateObject("ADODB.RecordSet")
    With rsB
        .CursorLocation = 3
        .Fields.Append "n", 3, 4
        .Open
        For i = 0 To UBound(arrB)
            If IsNumeric(arrB(i)) Then
                .AddNew
                .Fields(0).Value = arrB(i)
            End If
        Next
        .Update
    End With
    rsA.Sort = "n ASC"
    rsB.Sort = "n ASC"
    rsA.MoveFirst
    rsB.MoveFirst
    If rsA.RecordCount <> rsB.RecordCount Then
        cmpArr = False
    Else
        bEq = True
        Do While Not rsA.EOF
            If rsA(0).Value <> rsB(0).Value Then
                bEq = False
                Exit Do
            End If
            rsA.MoveNext      
            rsB.MoveNext
        Loop
        cmpArr = bEq
    End If
    Set rsA = Nothing
    Set rsB = Nothing
End Function
%>

作者: hookee   发布时间: 2011-10-02

谢谢你啦~朋友`

作者: bokecn   发布时间: 2011-10-02

楼上的方法是不是复杂了?
分割成两个数组 设置一个 int 变量
循环其中的一个数组中的值和另外数组中值做对比 
如果对比成功 int 变量+1 
一直循环到完成 如果变量等于数组的长度 那么两个相等 否则不相等

作者: atmo   发布时间: 2011-10-02