У меня есть таблицы внутри моей базы данных MySql:Как заполнить ComboBox в зависимости от выбранного элемента из другого ComboBox в VB
- материала
- unitofmeasure
У меня также есть 2 выпадающие списки:
- cmbHeader - этот combobox заполняет таблицы внутри базы данных.
- cmbContent - это выпадающий следует заполнить столбцы внутри таблицы, выбранной из cmbHeader
Я был в состоянии заполнить cmbHeader с таблицы внутри моей базы данных, используя этот код:
Dim conn As New MySqlConnection
Dim command As New MySqlCommand
Dim dt As New DataTable
conn.ConnectionString = "server=localhost;userid=root;password=NewPass;database=converter"
Try
conn.Open()
dt = conn.GetSchema("TABLES")
cmbHeader.DataSource = dt
cmbHeader.DisplayMember = "table_name"
cmbHeader.ValueMember = "table_name"
command.Dispose()
conn.Close()
Catch ex As Exception
End Try
Теперь для cmbContent, я получаю сообщение об ошибке в моем коде. Я использую этот код:
Private Sub cmbHeader_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbHeader.SelectedIndexChanged, cmbList.SelectedIndexChanged
Dim conn As New MySqlConnection
Dim command As New MySqlCommand
Dim dt As New DataTable
Dim reader As MySqlDataReader
conn.ConnectionString = "server=localhost;userid=root;password=NewPass;database=converter"
conn.Open()
Dim query As String
query = "SELECT * FROM '" & cmbHeader.SelectedItem & "'"
command = New MySqlCommand(query, conn)
reader = command.ExecuteReader
cmbList.Items.Clear()
While reader.Read
Dim header = reader.GetString("Header")
Dim content = reader.GetString("Content")
Dim convert = reader.GetString("Convert")
cmbList.Items.Add(content)
End While
command.Dispose()
reader.Close()
conn.Close()
End Sub
Это изображение ошибки, которую я получаю с помощью приведенного выше кода.
Я попытался изменить мой запрос "SELECT * FROM '" & cmbHeader.SelectedItem.ToString & "'", но я получаю другую ошибку. Как я могу заполнить свой второй ComboBox в зависимости от того, что я выбрал на своем первом ComboBox? Пожалуйста, помогите, я застрял. Благодарю. :)
как вы можете использовать одиночные qoutes для имени таблицы? а также вы выбираете selectitem из combobox, вместо этого выбираете значение selected или selectedtext. –