Vb.net 如何从数据集中填充下拉列表?
我试图用数据集中返回的存储过程的结果填充vb.net中的ASP下拉列表。我想知道是否有人知道填充下拉列表的vb.net代码Vb.net 如何从数据集中填充下拉列表?,vb.net,Vb.net,我试图用数据集中返回的存储过程的结果填充vb.net中的ASP下拉列表。我想知道是否有人知道填充下拉列表的vb.net代码 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load Dim connString As String = "Server=MYCOMPUTER\SQLEXPRESS;Database=scales;Trusted_Connection=True" Dim myCo
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim connString As String = "Server=MYCOMPUTER\SQLEXPRESS;Database=scales;Trusted_Connection=True"
Dim myConn As New SqlConnection(connString)
myConn.Open()
Dim da As New SqlDataAdapter("select scaleName from scales", myConn)
Dim dt As New DataTable
da.Fill(dt)
ComboBox1.DisplayMember = "scaleName"
ComboBox1.DataSource = dt
myConn.Close()
为了在DropDownList控件中显示数据,可以使用以下代码。要使用存储过程的结果,需要创建SELECT命令:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim dt As New DataTable
Dim connString As String = "Server=MYCOMPUTER\SQLEXPRESS;Database=scales;Trusted_Connection=True"
Using myConn As New SqlConnection(connString)
myConn.Open()
Using cmd = myConn.CreateCommand()
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "dbo.uspMyStoredProc"
cmd.Parameters.AddWithValue("@MyInputParam", 123)
Using da As New SqlDataAdapter(cmd)
da.Fill(dt)
End Using
End Using
End Using
ComboBox1.DisplayMember = "scaleName"
ComboBox1.DataSource = dt
ComboBox1.DataBind()
End If
' ...
End Sub
我已经调整了以下事项:
- 通常,您只需要在初始请求时绑定数据。因此,开头的
语句检查if
属性李>IsPostBack
- 为了可靠地关闭和处理连接和数据datapter,我使用语句添加了一些
李>
- 为了访问存储过程,我创建了一个SqlCommand,并将
设置为CommandType
。StoredProcedure
设置为存储过程的名称。在示例中,我还添加了一个名为CommandText
的参数,该参数被发送到存储过程MyInputParam
- 为了访问存储过程,我创建了一个SqlCommand,并将
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim dt As New DataTable
Dim connString As String = "Server=MYCOMPUTER\SQLEXPRESS;Database=scales;Trusted_Connection=True"
Using myConn As New SqlConnection(connString)
myConn.Open()
Using cmd = myConn.CreateCommand()
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "dbo.uspMyStoredProc"
cmd.Parameters.AddWithValue("@MyInputParam", 123)
Using da As New SqlDataAdapter(cmd)
da.Fill(dt)
End Using
End Using
End Using
ComboBox1.DisplayMember = "scaleName"
ComboBox1.DataSource = dt
ComboBox1.DataBind()
End If
' ...
End Sub