Partage via


SqlDataSource.SelectParameters Propriété

Définition

Obtient la collection de paramètres qui contient les paramètres utilisés par la SelectCommand propriété à partir de l’objet SqlDataSourceView associé au SqlDataSource contrôle.

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

Valeur de propriété

Qui ParameterCollection contient les paramètres utilisés par la SelectCommand propriété.

Attributs

Exemples

L’exemple de code suivant montre comment récupérer des données de la base de données Northwind dans Microsoft SQL Server en définissant la SelectCommand propriété sur une requête SQL. La requête SQL est paramétrable et l’espace réservé dans la SelectCommand propriété est mis en correspondance avec l’objet ControlParameter ajouté à la SelectParameters collection. Le DropDownList contrôle, auquel il ControlParameter est lié, agit comme un filtre pour ce qui est affiché dans le ListBox contrôle.

Pour plus d’informations sur d’autres types de paramètres que vous pouvez utiliser, consultez la vue d’ensemble de la Parameter classe.

Note

Étant donné que le paramètre est utilisé dans une clause WHERE, l’utilisation de la SelectParameters propriété dans l’exemple de code est fonctionnellement équivalente à l’utilisation des propriétés et FilterParameters des FilterExpression propriétés.

<!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>

Remarques

Si la SelectCommand propriété contient une requête SQL paramétrable, la SelectParameters collection contient tous Parameter les objets qui correspondent aux espaces réservés de paramètres dans la chaîne SQL.

Selon le fournisseur ADO.NET, l’ordre des paramètres de la SelectParameters collection peut être important. Les System.Data.OleDb fournisseurs et System.Data.Odbc les fournisseurs associent les paramètres de la collection selon l’ordre dans lequel les paramètres apparaissent dans la requête SQL paramétrable. Le System.Data.SqlClient fournisseur, qui est le fournisseur d’ADO.NET par défaut pour le SqlDataSource contrôle, associe les paramètres de la collection en correspondant au nom du paramètre avec un alias d’espace réservé dans la requête SQL. Pour plus d’informations sur les requêtes et commandes SQL paramétrables, consultez Utilisation de paramètres avec le contrôle SqlDataSource.

La SelectParameters propriété récupère la SelectParameters propriété contenue par l’objet SqlDataSourceView associé au SqlDataSource contrôle.

Important

Les valeurs sont insérées dans des paramètres sans validation, ce qui est une menace de sécurité potentielle. Utilisez l’événement Selecting pour valider les valeurs des paramètres avant d’exécuter la requête. Pour plus d’informations, consultez Vue d’ensemble des exploits de script.

S’applique à

Voir aussi