首页 > 解决方案 > 使用 MySql 数据库中的数组数据填充多个 ComboBox

问题描述

我在 vb.net 上非常基础,我对 MySQL 和 Combobox 有疑问。假设我在 MySQL 中有这样的数据:

   ID - Name 
   1  - Jack
   2  - Smith
   3  - John
   4  - Nick

我说 4 个 ComboBox,我想将这些数据填充到Combobox1.SelectedText with value 1ID 1 Jack、Combobox2.SelectedText with value 2ID 2 Smith 等。如何通过 For Each 或其他东西传递这个。我对在 StackOverflow 和 Google 中寻找答案感到困惑。谢谢

标签: mysqlvb.net

解决方案


要使用您的数据填充单个组合框,请执行以下操作。

Private ConStr As String = "Your connection string"

Private Function GetUsers() As DataTable
    Dim dt As New DataTable
    Using cn As New MySqlConnection(ConStr),
            cmd As New MySqlCommand("Select ID, Name From users;")
        cn.Open()
        dt.Load(cmd.ExecuteReader)
    End Using
    Return dt
End Function

Private Sub FillUsersCombo()
    Dim dt = GetUsers()
    ComboBox1.DataSource = dt
    ComboBox1.DisplayMember = "Name"
    ComboBox1.ValueMember = "ID"
End Sub

您可以使用ComboBox1.Text名称和ComboBox1.SelectedValueID 访问数据。

如果您想再填充 3 个,只需重复并设置.Text每个框的属性。

编辑 根据@CaiusJard 的评论

Private Function GetUsers() As DataTable
    Dim dt As New DataTable
    Using da As New MySqlDataAdapter("Select ID, Name From users;", ConStr)
        da.Fill(dt)
    End Using
    Return dt
End Function

推荐阅读