SqlDataSourceView.SelectParameters プロパティ

定義

SelectCommand プロパティで使用されるパラメーターを含む parameters コレクションを取得します。

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 プロパティで使用されるパラメーターを含むSelectCommand

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

Note

このパラメーターは WHERE 句で使用されるため、このコード例で SelectParameters プロパティを使用することは、機能的には、 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 コレクションには、SQL 文字列内のパラメーター プレースホルダーに対応するParameter オブジェクトが含まれます。

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

適用対象

こちらもご覧ください