R – Index was out of bounds. For Loops and Arrays

.netarraysvb.net

I'm trying to create two arrays filled with a set of strings from two tables in a database and then compare them. For example:
array1[0]="1101" and
array2[0]="0110"

If both respective characters equals 1 then perform an action. But when I run this code I receive the error: Index was outside the bounds of the array. System.IndexOutOfRangeException.

For some reason I believe the problem area is with the following two statements:

comparestringa = userintarray(x) and
comparestringb = eventintarray(x)

When i comment them out, the error doesn't show.

    myconnect = New SqlConnection("xxxx")
    Dim Table1 As New SqlCommand("SELECT * FROM Table1", myconnect)
    Dim Table2 As New SqlCommand("SELECT * FROM Table2", myconnect)

    Dim array1 As New ArrayList
    Dim array2 As New ArrayList

    Table1.Connection.Open()
    Dim r As SqlDataReader
    r = Table1.ExecuteReader(CommandBehavior.CloseConnection)
    While r.Read
        array1.Add(r(1).ToString())
        array1.Add(r(2).ToString())
        array1.Add(r(3).ToString())
        array1.Add(r(4).ToString())

    End While
    r.Close()
    myconnect.Close()



    Table2.Connection.Open()
    Dim r2 As SqlDataReader
    r2 = Table2.ExecuteReader(CommandBehavior.CloseConnection)
    While r2.Read
        array2.Add(r2(1).ToString())
        array2.Add(r2(2).ToString())
        array2.Add(r2(3).ToString())
        array2.Add(r2(4).ToString())

    End While
    r2.Close()
    myconnect.Close()



    Dim comparestringa, comparestringb As String
    Dim compare_string_counter As Int16 = 1

    comparestringa = userintarray(0)
    comparestringb = eventintarray(0)


     For x = 0 To array1.Count - 1

        If comparestringa(x) = "1" And comparestringa(x) = comparestringb(x) Then

              Label4.Text = Label4.Text + " 1 "

        Else
            compare_string_counter = compare_string_counter + 1
        End If
        comparestringa = userintarray(x)
        comparestringb = eventintarray(x)

    Next

Best Solution

userintarray and eventintarray are not declared (at least not in the code you posted.) Apparently they are dimensioned too small, or they are not dimensioned at all.

Related Question