/ / VB.NET DataSet Function - vb.net, dataset

VB.NET DataSet Function - vb.net, dataset

Sto cercando di vedere se c'è un modo migliore per usare una funzione che restituisce un DataSet per riempire una casella combinata, un codice più pulito, un modo più veloce, ecc.

Funzione:

    Public Function FillDataSet(ByVal dataSet As DataSet, ByVal queryString As String) As DataSet
Using connection As New SqlConnection("Data Source=SQL;Initial Catalog=database; User ID=user;Password=password;")
Using adapter As New SqlDataAdapter() With {.SelectCommand = New SqlCommand(queryString, connection)}
adapter.Fill(DataSet)
End Using
Return DataSet
End Using
End Function

Calling Sub:

    Private Sub fillComboBox()
comboBox.Items.Clear()
Dim myDataSet As New DataSet
myDataSet = FillDataSet(myDataSet , "SELECT rows FROM table")
If myDataSet .Tables(0).Rows.Count > 0 Then
For Each row As DataRow In myDataSet .Tables(0).Rows
comboBox.Items.Add(row(0))
Next row
comboBox.SelectedIndex = 0
Else
MsgBox("Empty table.", MsgBoxStyle.OkOnly, "Empty Table...")
End If
myDataSet .Dispose()
End Sub

risposte:

1 per risposta № 1

Sostituisci per ogni ciclo con comboBox.DataSource = myDataSet.Tables(0) quindi assegnare a quale colonna comparire con il nome della colonna comboBox.DisplayMember = "ColumnName" e membro di valore per la cattura del suo SelectedValue

comboBox.DataSource = myDataSet.Tables(0)
comboBox.DisplayMember = "ColumnName"
comboBox.ValueMember = "ColumnName"