次の方法で共有


SqlDataSourceView.DeleteParameters プロパティ

定義

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

public:
 property System::Web::UI::WebControls::ParameterCollection ^ DeleteParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection DeleteParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DeleteParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property DeleteParameters As ParameterCollection

プロパティ値

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

属性

次のコード例では、Northwind データベースから注文を DeleteCommand 削除するようにテキストを設定する方法を示します。 最初に、データは Orders テーブルから取得され、コントロールに DropDownList 表示されます。 などのデータ バインド コントロールを使用する場合は、 プロパティをDeleteParameters明示的に宣言し、 メソッドを呼び出すDelete必要があります (および などのGridViewDetailsViewコントロールとは異なり、パラメーターを自動的に設定し、データ ソース コントロールで メソッドを呼び出しますDelete)。DropDownList この例では、OnClickイベントは、コントロールの メソッドSqlDataSourceを明示的に呼び出Deleteすプライベート OnDeleted イベント ハンドラーに委任されます。

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
private void OnDelete(Object sender, EventArgs e) {
    SqlDataSource1.Delete();
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommand="SELECT OrderID FROM Orders"
                DeleteCommand="DELETE FROM [Order Details] WHERE OrderID=@OrderID;DELETE FROM Orders WHERE OrderID=@OrderID;">
                <DeleteParameters>
                    <asp:ControlParameter Name="OrderID" ControlId="DropDownList1" PropertyName="SelectedValue" />
                </DeleteParameters>
            </asp:SqlDataSource>

            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                DataTextField="OrderID"
                DataValueField="OrderID"
                DataSourceID="SqlDataSource1">
            </asp:DropDownList>

            <asp:Button
                id="Button1"
                runat="server"
                Text="Delete Order"
                OnClick="OnDelete">
            </asp:Button>

        </form>
    </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
 Sub On_Delete(ByVal sender As Object, ByVal e As EventArgs)
    SqlDataSource1.Delete()
 End Sub 'On_Delete
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>ASP.NET Example</title>
</head>

    <body>
        <form id="form1" runat="server">

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommand="SELECT OrderID FROM Orders"
                DeleteCommand="DELETE FROM [Order Details] WHERE OrderID=@OrderID;DELETE FROM Orders WHERE OrderID=@OrderID;">
                <DeleteParameters>
                    <asp:ControlParameter Name="OrderID" ControlId="DropDownList1" PropertyName="SelectedValue" />
                </DeleteParameters>
            </asp:SqlDataSource>

            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                DataTextField="OrderID"
                DataValueField="OrderID"
                DataSourceID="SqlDataSource1">
            </asp:DropDownList>

            <asp:Button
                id="Button1"
                runat="server"
                Text="Delete Order"
                OnClick="On_Delete">
            </asp:Button>

        </form>
    </body>
</html>

注釈

プロパティに DeleteCommand パラメーター化された SQL クエリが含まれている場合、 DeleteParameters コレクションには SQL 文字列のパラメーター プレースホルダーに対応する Parameter オブジェクトが含まれます。

パラメーター名は、 プロパティの影響をOldValuesParameterFormatString受ける可能性があります。具体的には、名前が主キー (データ バインド コントロールの プロパティを使用してDataKeyNames指定されたキーなど) を識別する場合、またはプロパティが値にCompareAllValues設定され、 のセットoldValuesが対応するデータ メソッドに渡される削除および更新のシナリオConflictDetectionの場合です。 この場合、書式指定文字列はコレクション内の各パラメーター名に oldValues 適用されます。

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

適用対象

こちらもご覧ください