CheckListBox — проверка элементов на основе значения массива — VB.NET

ОК... После многих дней попыток разобраться, у меня нет другого выбора, кроме как обратиться за помощью. Я погуглил свое маленькое сердце, и теперь оно привело меня сюда. ПОЖАЛУЙСТА ПОМОГИ.

Я получаю строку с моего сервера базы данных MySQL. Затем я разделяю строку и помещаю ее в массив.

Затем я просматриваю свой контрольный список и смотрю, равны ли какие-либо записи там значению массива. Проблема в том, что это не работает, и я не могу заставить его работать.

Это своего рода шаблон, который у меня есть, и если кто-нибудь может помочь мне с этой проблемой, я был бы более чем благодарен.

    Using connection As New MySqlConnection("datasource = " + IPADDRESS + "; username = '" + USERNAME + "'; password='" + PASSWORD + "' ; database = '" + DBASE + "'")
        Using Command As New MySqlCommand("SELECT * FROM hazinc WHERE title = '" + ListBox1.Text + "'", connection)

            connection.Open()

            'Command.ExecuteReader()
            Using reader As MySqlDataReader = Command.ExecuteReader()
                While reader.Read()
                    'TextBox2.Text = reader("title")
                    STRINGRR = reader("involved")

                End While

                Dim NEWSTRINGRR As String() = STRINGRR.Split(",")

                Dim CC As Integer

                CC = 0

                For Each X In NEWSTRINGRR
                    For I = 0 To clbEmployees.Items.Count - 1
                        Try
                            If clbEmployees.Items(I).ToString() = NEWSTRINGRR(I).ToString() Then
                                SetItemChecked(I)
                            End If
                        Catch ex As Exception
                            ' MsgBox(ex.ToString)
                        End Try

                    Next
                Next



            End Using

            connection.Close()

        End Using
    End Using

Кто угодно? Пожалуйста...?


person user1567271    schedule 01.08.2012    source источник
comment
Пожалуйста, опубликуйте содержимое STRINGRR и содержимое первых 3 элементов в файле clbEmployees.   -  person Michael Rodrigues    schedule 01.08.2012


Ответы (2)


Я не знаю точно с таким небольшим кодом, но почему вы используете один и тот же индекс для своего условия If? Тогда что хорошего делает X?

Я думаю, должно быть так:

For Each X In NEWSTRINGRR
    For I = 0 To clbEmployees.Items.Count - 1
        If clbEmployees.Items(I).ToString() = X.ToString() Then
           SetItemChecked(I)
        End If
    Next
Next

CMIIW.

person Samuel Adam    schedule 01.08.2012

Вы знаете, что STRINGRR будет иметь значение только последней строки. Добавьте да, вам нужно опубликовать весь свой код.

person paparazzo    schedule 01.08.2012
comment
STRINGRR содержит ваше имя, мое имя, ее имя. NEWSTRINGRR содержит эту строку, разбитую на массив. - person user1567271; 01.08.2012
comment
Вы отлаживали эти значения? Где не совпали значения, которые, по вашему мнению, должны совпадать? - person paparazzo; 01.08.2012