CheckListBox - 根据数组值检查项目 - VB.NET

时间:2012-08-01 01:14:42

标签: .net mysql vb.net checklistbox

好的......经过许多天试图弄明白,我别无选择,只能寻求帮助。我用Google搜索了我的小心脏,现在它已经把我带到了这里。请帮助。

我从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

任何?请...?

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:0)

你知道STRINGRR只会有最后一行的值。添加是,您需要发布所有代码。