SqlDataSource.SelectParameters Propriété

Définition

Obtient la collection de paramètres qui contient les paramètres utilisés par la propriété SelectCommand de l'objet SqlDataSourceView qui est associé au contrôle 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

Valeur de propriété

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

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 est ControlParameter lié, agit comme un filtre pour ce qui est affiché dans le ListBox contrôle.

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

Notes

É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 FilterExpression propriétés et 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>

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ètre dans la chaîne SQL.

Selon le fournisseur ADO.NET, l’ordre des paramètres dans la SelectParameters collection peut être important. Les System.Data.OleDb fournisseurs et System.Data.Odbc associent les paramètres dans la collection en fonction de l’ordre dans lequel les paramètres apparaissent dans la requête SQL paramétrable. Le System.Data.SqlClient fournisseur, qui est le fournisseur de ADO.NET par défaut pour le SqlDataSource contrôle, associe les paramètres de la collection en faisant correspondre le nom du paramètre à 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 les paramètres sans validation, ce qui constitue 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 attaques de script.

S’applique à

Voir aussi