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

属性

次のコード例では、 プロパティを SQL クエリに設定して、Microsoft SQL Server の Northwind データベースからデータを SelectCommand 取得する方法を示します。 SQL クエリはパラメーター化され、プロパティの SelectCommand プレースホルダーはコレクションに ControlParameter 追加されたオブジェクトと SelectParameters 一致します。 DropDownListにバインドされているControlParameterコントロールは、コントロールに表示されるListBox内容のフィルターとして機能します。

使用できるその他の種類のパラメーターについては、クラスの概要に関するページを Parameter 参照してください。

注意

パラメーターは WHERE 句で使用されるため、コード例での プロパティの SelectParameters 使用は、 プロパティと プロパティの使用 FilterExpressionFilterParameters 機能的に同じです。

<!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 コレクションには SQL 文字列のパラメーター プレースホルダーに対応する Parameter オブジェクトが含まれます。

ADO.NET プロバイダーによっては、コレクション内のパラメーターの順序が SelectParameters 重要になる場合があります。 プロバイダーと System.Data.Odbc プロバイダーはSystem.Data.OleDb、パラメーター化された SQL クエリでパラメーターが表示される順序に従って、コレクション内のパラメーターを関連付けます。 コントロールの既定の ADO.NET プロバイダーSqlDataSourceであるプロバイダーはSystem.Data.SqlClient、パラメーターの名前と SQL クエリのプレースホルダー エイリアスを照合して、コレクション内のパラメーターを関連付けます。 パラメーター化された SQL クエリとコマンドの詳細については、「 SqlDataSource コントロールでのパラメーターの使用」を参照してください。

プロパティは SelectParameters 、コントロールに SelectParameters 関連付けられている オブジェクトに SqlDataSourceView 含まれるプロパティを SqlDataSource 取得します。

重要

値は検証なしでパラメーターに挿入されます。これは、潜在的なセキュリティ上の脅威です。 イベントを Selecting 使用して、クエリを実行する前にパラメーター値を検証します。 詳細については、「スクリプトによる攻略の概要」を参照してください。

適用対象

こちらもご覧ください