SqlDataSourceView.SelectParameters プロパティ

定義

SelectCommand プロパティによって使用されるパラメーターを格納するパラメーター コレクションを取得します。

public:
 property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection

プロパティ値

ParameterCollection

ParameterCollection プロパティによって使用されるパラメーターを格納している SelectCommand

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

注意

パラメーターは WHERE 句で使用されるため、このコード例のプロパティのSelectParameters使用は、機能上、プロパティとFilterParametersプロパティの両方をFilterExpression使用することと同じです。

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

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

適用対象

こちらもご覧ください