katkot_rewsh Ответов: 1

Связать combobox 2 с выбранным элементом combobox1


мне нужно связать combobox2 с базой данных acssess на основе выбранного значения из combobox1

Что я уже пробовал:

Cmd.Connection = conn 'open connection to database
Cmd.CommandText = "select * from Tabel where filed1= 'ComboBox1.selecteditem'"

        conn.Open()
        dr = Cmd.ExecuteReader
        While dr.Read
            ComboBox2.Items.Add(dr("filed2").ToString())
        End While
        dr.Close()
        conn.Close()

1 Ответов

Рейтинг:
7

RickZeeland

Это не сработает, используй:

Cmd.CommandText = "select * from Tabel where filed1= '" & ComboBox1.selecteditem & "'"

Но делать это таким образом опасно из-за риска SQL-инъекции, лучше использовать параметризованный запрос.
Читайте об этом здесь:
Как я параметризовал запросы VB.NET код[^]
А здесь: Использование C# для подключения и запроса из базы данных SQL | Sander Rossel[^]


katkot_rewsh

Работает идеально, большое спасибо

katkot_rewsh

а как насчет того, чтобы сделать двойное условие
я думаю, что у меня тоже что-то не так с синтаксисом

УМК.Свойства commandtext = "выбрать * из Таблица1 где Filed1= '" &ампер; элемент combobox1.Элемент усилителя; amp; " и Filed2= '" &амп; ComboBox2.Элемент &ампер; "'"

RickZeeland

Синтаксис выглядит нормально для меня, но, конечно, я не могу видеть вашу базу данных, так что, возможно, типы данных Filed1 и Filed2 отличаются. Может быть, вы можете проверить доступ и проверить с помощью запроса.