Поделиться через


SqlDataSource.SelectParameters Свойство

Определение

Возвращает коллекцию, содержащую параметры, используемые свойством SelectCommand объекта SqlDataSourceView, связанного с элементом управления 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

Значение свойства

Коллекция ParameterCollection, содержащая параметры, используемые свойством SelectCommand.

Атрибуты

Примеры

В следующем примере кода показано, как получить данные из базы данных Northwind в Microsoft SQL Server, задав SelectCommand для свойства значение SQL-запроса. SQL-запрос параметризован, а заполнитель в свойстве SelectCommand сопоставляется с ControlParameter объектом, добавленным в коллекцию SelectParameters . Элемент DropDownList управления, к которому ControlParameter привязан объект , выступает в качестве фильтра для отображения в элементе ListBox управления .

Сведения о других типах параметров, которые можно использовать, см. в обзоре Parameter класса.

Примечание

Так как параметр используется в предложении SelectParameters WHERE, использование свойства в примере кода функционально эквивалентно использованию FilterExpression свойств и 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>

Комментарии

SelectCommand Если свойство содержит параметризованный SQL-запрос, SelectParameters коллекция содержит все Parameter объекты, соответствующие заполнителям параметров в строке SQL.

В зависимости от поставщика ADO.NET может быть важен порядок параметров в SelectParameters коллекции. Поставщики System.Data.OleDb и System.Data.Odbc связывают параметры в коллекции в соответствии с порядком отображения параметров в параметризованном SQL-запросе. Поставщик System.Data.SqlClient , который является поставщиком ADO.NET по умолчанию для SqlDataSource элемента управления, связывает параметры в коллекции, сопоставляя имя параметра с псевдонимом заполнителя в SQL-запросе. Дополнительные сведения о параметризованных запросах и командах SQL см. в разделе Использование параметров с элементом управления SqlDataSource.

Свойство SelectParameters извлекает SelectParameters свойство, содержащееся в объекте SqlDataSourceView , связанном с элементом SqlDataSource управления .

Важно!

Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности. Используйте событие для Selecting проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

Применяется к

См. также раздел