Condividi tramite


SqlDataSource.SelectParameters Proprietà

Definizione

Ottiene l'insieme di parametri che contiene i parametri utilizzati dalla proprietà SelectCommand dall'oggetto SqlDataSourceView associato al controllo 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

Valore della proprietà

Oggetto ParameterCollection contenente i parametri utilizzati dalla proprietà SelectCommand.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come recuperare dati dal database Northwind in Microsoft SQL Server impostando la SelectCommand proprietà su una query SQL. La query SQL viene parametrizzata e il segnaposto nella SelectCommand proprietà viene confrontato con l'oggetto ControlParameter aggiunto all'insieme SelectParameters . Il DropDownList controllo a cui ControlParameter è associato funge da filtro per gli elementi visualizzati nel ListBox controllo .

Per informazioni su altri tipi di parametri che è possibile usare, vedere la panoramica della Parameter classe.

Nota

Poiché il parametro viene usato in una clausola WHERE, l'uso della SelectParameters proprietà nell'esempio di codice è funzionalmente equivalente all'uso delle FilterExpression proprietà e 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>

Commenti

Se la SelectCommand proprietà contiene una query SQL con parametri, l'insieme SelectParameters contiene tutti gli Parameter oggetti che corrispondono ai segnaposto dei parametri nella stringa SQL.

A seconda del provider ADO.NET, l'ordine dei parametri nella SelectParameters raccolta potrebbe essere importante. I System.Data.OleDb provider e System.Data.Odbc associano i parametri nella raccolta in base all'ordine in cui i parametri vengono visualizzati nella query SQL con parametri. Il System.Data.SqlClient provider, ovvero il provider di ADO.NET predefinito per il SqlDataSource controllo, associa i parametri nella raccolta associando il nome del parametro a un alias segnaposto nella query SQL. Per altre informazioni sulle query e i comandi SQL con parametri, vedere Uso di parametri con il controllo SqlDataSource.

La SelectParameters proprietà recupera la SelectParameters proprietà contenuta nell'oggetto SqlDataSourceView associato al SqlDataSource controllo .

Importante

I valori vengono inseriti in parametri senza convalida, ovvero una potenziale minaccia per la sicurezza. Usare l'evento Selecting per convalidare i valori dei parametri prima di eseguire la query. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.

Si applica a

Vedi anche