我的 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
可以找到本概述 http://msdn.microsoft.com/en-us/library/dz12d98w(v=vs.100).aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)