Mysql 用VB中的数据库表填充组合框

Mysql 用VB中的数据库表填充组合框,mysql,database,vb.net,combobox,Mysql,Database,Vb.net,Combobox,我想用包含3个表的数据库“converter”的表名填充combobox。我正在使用以下代码: conn.ConnectionString = "server=localhost;userid=root;password=NewPass;database=converter" Try conn.Open() command.Connection = conn command.CommandText = "SHOW TABLES"

我想用包含3个表的数据库“converter”的表名填充combobox。我正在使用以下代码:

conn.ConnectionString = "server=localhost;userid=root;password=NewPass;database=converter"
    Try
        conn.Open()

        command.Connection = conn
        command.CommandText = "SHOW TABLES"

        adapter = New MySqlDataAdapter(command.CommandText, conn)
        adapter.SelectCommand = command
        adapter.Fill(dt)

        ComboBox1.DataSource = dt
        ComboBox1.DisplayMember = "column_name"
        ComboBox1.ValueMember = "column_name"

    Catch ex As Exception

    End Try
此代码填充组合框中的3个项目(与数据库中的表数相同)。但这表明:

如何用表的确切名称填充组合框,而不是像这样?我试着在我的dt上加上.toString,但是没有用

有人能帮我吗?提前谢谢。:)

编辑 我使用了史蒂夫的方法,我能够得到这些值。我用了这个密码

conn.ConnectionString = "server=localhost;userid=root;password=NewPass;database=converter"
    Try
        conn.Open()

        command.Connection = conn
        command.CommandText = "SHOW TABLES"

        adapter = New MySqlDataAdapter(command.CommandText, conn)
        adapter.SelectCommand = command
        dt = conn.GetSchema("TABLES")
        adapter.Fill(dt)

        ComboBox1.DataSource = dt
        ComboBox1.DisplayMember = "table_name"
        ComboBox1.ValueMember = "table_name"

    Catch ex As Exception

    End Try
但现在它显示了3个额外的空值。请参阅此图:


如果我是对的,那么要传递给您的组合框DisplayMember的正确值是

Tables_in_converter
换句话说,命令返回的唯一列的名称是使用固定文本
中的Tables\u
自动生成的,后跟

如果您想使用另一种方法,可以用这种方式调用connection对象的GetSchema方法

using cnn = new MySqlConnection(...)
    cnn.Open()
    Dim dt = cnn.GetSchema("TABLES")

    ComboBox1.DataSource = dt
    ComboBox1.DisplayMember = "table_name"
    ComboBox1.ValueMember = "table_name"
End Using

我使用了你的代码,它工作了,但现在它显示了3个额外的“空”项。我编辑了我的问题。我的方法是相互替代的。您应该在showtables方法或GetSchema方法之间进行选择。正如您在上面所写的,您同时调用了这两个行,当然,在显示哪个值的问题上,这些行与combo是完全混淆的。删除与适配器部件相关的代码哦,我明白了。我把适配器部分拆了,它工作得很好。非常感谢:)