Заполнение ComboBox из БД в зависимости от выбранного значения в другом ComboBox - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Т.к. я не профессионал, прошу сразу не закидывать палками )) Проблема следующая, грубо говоря на форме преславутые зависимые ComboBox, первый заполняется при загрузке формы - был подключен не из кода, а визардом, второй должен заполняться в зависимости от выбора в первом следующим кодом:
Листинг программы
  1. Dim connString As String
  2. Dim oledbCnn As OleDbConnection
  3. Dim oledbCmd As OleDbCommand
  4. Dim sql As String
  5. connString = ("Data Source=""E:\BD\Reglam.accdb"";user " & "id=Admin;Provider=""Microsoft.Jet.OLEDB.4.0"";")
  6. sql = "SELECT NAIM_SUBYEKT from SUBYEKTY WHERE NUMBER_FO=('" & ComboBox1.SelectedValue & "')"
  7. oledbCnn = New OleDbConnection(connString)
  8. Try
  9. oledbCnn.Open()
  10. oledbCmd = New OleDbCommand(sql, oledbCnn)
  11. Dim oledbReader As OleDbDataReader = oledbCmd.ExecuteReader()
  12. ComboBox2.Items.Clear()
  13. While oledbReader.Read
  14. ComboBox2.Items.Add(oledbReader.Item(1))
  15. End While
  16. oledbReader.Close()
  17. oledbCmd.Dispose()
  18. oledbCnn.Close()
  19. Catch ex As Exception
  20. MessageBox.Show(ComboBox1.SelectedValue)
  21. End Try
Но этого не происходит, т.е. он к базе не может подключиться, на этот случай есть MessageBox.Show(ComboBox1.SelectedValue), подскажите в чем дело пожалуйста...

Решение задачи: «Заполнение ComboBox из БД в зависимости от выбранного значения в другом ComboBox»

textual
Листинг программы
  1. Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
  2.         Dim oledbCnn As OleDbConnection
  3.         Dim oledbCmd As OleDbCommand
  4.         Dim sql As String
  5.         sql = ("SELECT <то что нужно> from <таблица выборки> WHERE ValueMember =" & ComboBox2.SelectedValue)
  6.         oledbCnn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\BD\Reglam.accdb;")
  7.         Try
  8.             oledbCnn.Open()
  9.             oledbCmd = New OleDbCommand(sql, oledbCnn)
  10.             oledbCmd.ExecuteNonQuery()
  11.             oledbCnn.Close()
  12.             Dim oledbDA As New OleDbDataAdapter(oledbCmd)
  13.             Dim dt As New DataTable
  14.             oledbDA.Fill(dt)
  15.             ComboBox2.Items.Clear()
  16.             For Each row As DataRow In dt.Rows
  17.                 ComboBox3.Items.Add(row.Item(0))
  18.             Next
  19.         Catch ex As Exception
  20.             MsgBox(ex.ToString)
  21.             'MessageBox.Show(ComboBox1.SelectedValue)
  22.         End Try
  23.     End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.556 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы