当前位置: 代码迷 >> 综合 >> SqlDataSource.SelectParameters 属性(摘)
  详细解决方案

SqlDataSource.SelectParameters 属性(摘)

热度:40   发布时间:2023-12-15 02:27:34.0

从与 SqlDataSource 控件相关联的 SqlDataSourceView 对象获取包含 SelectCommand 属性所使用的参数的参数集合。

命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)

属性值

ParameterCollection,它包含 SelectCommand 属性所使用的参数。

备注

如果 SelectCommand 属性包含参数化 SQL 查询,则 SelectParameters 集合将包含与 SQL 字符串中的参数占位符相对应的所有 Parameter 对象。

根据 ADO.NET 提供程序的不同,SelectParameters 集合中参数的顺序可能很重要。System.Data.OleDb 和 System.Data.Odbc 提供程序按照集合中的参数在参数化 SQL 查询中出现的顺序关联这些参数。System.Data.SqlClient 提供程序(它是 SqlDataSource 控件的默认 ADO.NET 提供程序)通过将参数名称与 SQL 查询中的占位符别名匹配来关联此集合中的参数。有关参数化 SQL 查询和命令的更多信息,请参见 对 SqlDataSource 控件使用参数。

SelectParameters 属性检索 SqlDataSourceView 对象(与 SqlDataSource 控件关联)所包含的 SelectParameters 属性。

示例

下面的代码示例演示如何通过将 SelectCommand 属性设置为 SQL 查询来从 Microsoft SQL Server 的 Northwind 数据库中检索数据。该 SQL 查询是参数化查询并且 SelectCommand 属性中的占位符与添加到 SelectParameters 集合中的 ControlParameter 对象相匹配。ControlParameter 所绑定到的 DropDownList 控件作为筛选器,用于筛选显示在 ListBox 控件中的内容。

 

 

 

注意

 

由于该参数用在 WHERE 子句中,因此在代码示例中 SelectParameters 属性的作用相当于 FilterExpression 和 FilterParameters 属性的功能。

 

C#

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

   <body>

          <form runat="server">

             <p><asp:dropdownlist id="DropDownList1" runat="server" autopostback="True">

                    <asp:listitem selected>Sales Representative</asp:listitem>

                   <asp:listitem>Sales Manager</asp:listitem>

                   <asp:listitem>Vice President, Sales</asp:listitem> </asp:dropdownlist></p>

             <asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:MyNorthwind%>"

                      selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">

                          <selectparameters> <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/> </selectparameters>

           </asp:sqldatasource> <p>

           <asp:listbox id="ListBox1" runat="server" datasourceid="SqlDataSource1" datatextfield="LastName">            </asp:listbox></p>

       </form>

      </body>

</html>