SqlDataSource.SelectParameters Propiedad

Definición

Obtiene la colección de parámetros que contiene los parámetros utilizados por la propiedad SelectCommand desde el objeto SqlDataSourceView asociado con el control SqlDataSource.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection

Valor de propiedad

ParameterCollection que contiene los parámetros utilizados por la propiedad SelectCommand.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo recuperar datos de la base de datos Northwind en Microsoft SQL Server estableciendo la SelectCommand propiedad en una consulta SQL. La consulta SQL se parametriza y el marcador de posición de la SelectCommand propiedad coincide con el ControlParameter objeto que se agrega a la SelectParameters colección. El DropDownList control, al que ControlParameter está enlazado, actúa como filtro para lo que se muestra en el ListBox control.

Para obtener información sobre otros tipos de parámetros que puede usar, consulte la información general de la Parameter clase.

Nota

Dado que el parámetro se usa en una cláusula WHERE, el uso de la SelectParameters propiedad en el ejemplo de código es funcionalmente equivalente al uso de las FilterExpression propiedades y FilterParameters .

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">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>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">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>

Comentarios

Si la SelectCommand propiedad contiene una consulta SQL parametrizada, la SelectParameters colección contiene los Parameter objetos que corresponden a los marcadores de posición de parámetros de la cadena SQL.

Dependiendo del proveedor de ADO.NET, el orden de los parámetros de la SelectParameters colección puede ser importante. Los System.Data.OleDb proveedores y System.Data.Odbc asocian los parámetros de la colección según el orden en que aparecen los parámetros en la consulta SQL parametrizada. El System.Data.SqlClient proveedor, que es el proveedor de ADO.NET predeterminado para el SqlDataSource control, asocia los parámetros de la colección haciendo coincidir el nombre del parámetro con un alias de marcador de posición en la consulta SQL. Para obtener más información sobre las consultas y comandos SQL con parámetros, vea Uso de parámetros con el control SqlDataSource.

La SelectParameters propiedad recupera la SelectParameters propiedad contenida por el SqlDataSourceView objeto asociado al SqlDataSource control .

Importante

Los valores se insertan en parámetros sin validación, lo que es una amenaza de seguridad potencial. Use el Selecting evento para validar los valores de parámetro antes de ejecutar la consulta. Para más información, consulte Información general sobre los ataques mediante scripts.

Se aplica a

Consulte también