Подключение и фильтрация Combobox в VB через Microsoft SQL - PullRequest
0 голосов
/ 24 октября 2018

Я очень новичок в программировании и нуждаюсь в руководстве.

У меня есть база данных MS SQL элементов (product_cat, product_type, product_make, product_Model).У меня есть выигрышная форма с 4 комбинированными списками, относящимися к этой колонке.Я хочу иметь возможность выбирать product_cat и фильтровать product_type на основании этого.Например: если я выбираю категорию «Транспорт», он фильтрует все, что связано с транспортировкой, в автомобили combobox2 (product_type), автобусы, поезда ... затем, когда я выбираю автомобили, он фильтрует и заполняет combobox3 (product_make).Прямо сейчас мой код показывает все во всех выпадающих списках и ничего не фильтрует.Спасибо за любые рекомендации.

Public Class Form1 
   Public sql As New sqlcontrol 
   Private DBcmd As SqlCommand 
   Public Sub loadcbxCategory()
      cbxCategory.Items.Clear()
      sql.ExeQuery("Select DISTINCT Product_Category From dbo.Product_Data$;") 
      If sql.HasExecption(True) Then Exit Sub 
      For Each r As DataRow In sql.DBDT.Rows
         cbxCategory.Items.Add(r("Product_Category").ToString)
      Next
   End Sub

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
      loadcbxCategory() 
   ...

   Private Sub cbxCategory_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxCategory.SelectedIndexChanged 
      Dim mysqlconn = New SqlConnection mysqlconn.ConnectionString = ("Server=mojiz-surface\sqlexpress;database=ASI_Inventory;trusted_connection=true;") 

Ответы [ 2 ]

0 голосов
/ 31 октября 2018
Dim sample as new sqlcommand ("select*From *your datable in sqldatabase*", connection)
Dim adapter as new sqldataAdapter(sample)
Dim table as new DataTable()

adapter.fill(table)
combobox1.DataSource = Table
Combobox1.Valuemember = "No." (NOTE: *Select the column from your sql data table*)

надеюсь, это поможет вам ..

0 голосов
/ 25 октября 2018

Попробуйте это Вам нужно ввести только имя поля со списком и передать параметры запроса

Class SurroundingClass
Private path = "Your connection string"
Private con As OleDbConnection = New OleDbConnection(path)

Public Sub ComboData(ByVal cmb As ComboBox, ByVal colname As String, ByVal dbname As String, ByVal wherecondition As String)
    con.open()
    cmb.Items.Clear()
    da = New OleDbDataAdapter("select " & colname & " from " & dbname & " where " & wherecondition, con)
    dt = New DataTable()
    da.Fill(dt)

    For Each row As DataRow In dt.Rows
        cmb.Items.Add(row(0).ToString())
    Next

    con.close()
End Sub

Конечный класс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...