使用SQL填充下拉列表

时间:2014-10-22 17:26:42

标签: asp.net vb.net tsql drop-down-menu ado.net

我的asp.net网站上有一个DropDownList但我无法用我的sql server中的数据填充它。

我错过了什么吗?

Dim sqlconn As New SqlConnection  
Dim sqCmd As New SqlCommand       
Dim sqlreader As SqlDataReader    

sqlconn.ConnectionString = "server = .......;Database=......;User ID=....
Password=...." 

sqCmd.Connection = sqlconn
sqlconn.Open()
sqCmd.CommandText = "SELECT DISTINCT CompanyDivision FROM Reports"
sqlreader = sqCmd.ExecuteReader()

DropDownList.DataSource = sqlreader
DropDownList.DataTextField = "CompanyDivision"
DropDownList.DataValueField = "CompanyDivision"
DropDownList.DataBind()

sqlreader.Close()
sqlconn.Close()

1 个答案:

答案 0 :(得分:3)

将SQL查询附加到下拉列表的最简单方法是在aspx中使用SqlDataSource

你可以这样做:

<asp:SqlDataSource runat="server" 
                   ID="CompanyDivisionSource"
                   DataSourceMode="DataReader"
                   ConnectionString="<%$ ConnectionStrings:YourConnectionStringKey%>"
                   SelectCommand="SELECT DISTINCT CompanyDivision FROM Reports" />
<asp:DropDownList runat="server" 
                  DataSourceID="CompanyDivisionSource" 
                  DataTextField="CompanyDivision"
                  DataValueField="CompanyDivision" />

我建议也将该表达式用于连接字符串。您需要将连接字符串放在<connectionStrings>标记下的web.config文件中。您将能够在多个页面上重复使用相同的连接,而无需在每次使用时对其进行硬编码。

有关SqlDataSource的更多信息,请访问this overview