0

DataSet を返す関数を使用してコンボ ボックスを埋めるためのより良い方法、またはよりクリーンなコード、より高速な方法などがあるかどうかを確認しようとしています。

関数:

    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

サブの呼び出し:

    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
4

1 に答える 1