我的 asp.net 网站中有一个 DropDownList,但我无法用我的 sql 服务器中的数据填充它。
我错过了什么吗?
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()
最佳答案
将 sql 查询附加到下拉列表的最直接方法是使用 SqlDataSource
在 aspx 中。
你可以这样做:
<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" />
我也建议在连接字符串中使用该表达式。您需要将连接字符串放在 web.config 文件中的 <connectionStrings>
下标签。您将能够在多个页面上重复使用相同的连接,而不必在每次使用时都对其进行硬编码。
有关 SqlDataSource
的更多信息可以在 this overview 上找到.
关于asp.net - 使用 SQL 填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26513434/