我的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()
答案 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。