Compartilhar via


SqlDataSource.SelectParameters Propriedade

Definição

Obtém a coleção de parâmetros que contém os parâmetros usados pela propriedade SelectCommand do objeto SqlDataSourceView associado ao controle 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 da propriedade

Um ParameterCollection que contém os parâmetros usados pela propriedade SelectCommand.

Atributos

Exemplos

O exemplo de código a seguir demonstra como recuperar dados do banco de dados Northwind no Microsoft SQL Server definindo a SelectCommand propriedade como uma consulta SQL. A consulta SQL é parametrizada e o espaço reservado na SelectCommand propriedade é correspondido ao ControlParameter objeto que é adicionado à SelectParameters coleção. O DropDownList controle, ao qual o ControlParameter está associado, atua como um filtro para o que é exibido no ListBox controle.

Para obter informações sobre outros tipos de parâmetros que você pode usar, consulte a visão geral da Parameter classe.

Observação

Como o parâmetro é usado em uma cláusula WHERE, o uso da SelectParameters propriedade no exemplo de código é funcionalmente equivalente ao uso das FilterExpression propriedades 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>

Comentários

Se a SelectCommand propriedade contiver uma consulta SQL parametrizada, a SelectParameters coleção conterá quaisquer Parameter objetos que correspondam aos espaços reservados de parâmetro na cadeia de caracteres SQL.

Dependendo do provedor de ADO.NET, a ordem dos parâmetros na SelectParameters coleção pode ser importante. Os System.Data.OleDb provedores e System.Data.Odbc associam os parâmetros na coleção de acordo com a ordem em que os parâmetros aparecem na consulta SQL parametrizada. O System.Data.SqlClient provedor, que é o provedor de ADO.NET padrão para o SqlDataSource controle, associa os parâmetros na coleção combinando o nome do parâmetro com um alias de espaço reservado na consulta SQL. Para obter mais informações sobre consultas e comandos SQL parametrizados, consulte Usando parâmetros com o controle SqlDataSource.

A SelectParameters propriedade recupera a SelectParameters propriedade contida pelo SqlDataSourceView objeto associado ao SqlDataSource controle .

Importante

Os valores são inseridos em parâmetros sem validação, o que é uma possível ameaça à segurança. Use o Selecting evento para validar valores de parâmetro antes de executar a consulta. Para obter mais informações, consulte Visão geral de explorações de script.

Aplica-se a

Confira também