SqlDataSource.Delete メソッド

定義

DeleteCommand SQL 文字列と DeleteParameters コレクション内にある任意のパラメーターを使用して、削除操作を実行します。

public:
 int Delete();
public int Delete ();
member this.Delete : unit -> int
Public Function Delete () As Integer

戻り値

基になるデータベースから削除された行数を表す値。

例外

SqlDataSource が、基になるデータ ソースとの接続を確立できません。

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

<%@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>

注釈

削除操作が実行される前に、 メソッドが OnDeleting 呼び出されてイベントが発生します Deleting 。 このイベントを処理して、パラメーターの値を調べ、削除操作の前に前処理を実行できます。

操作が完了すると、 メソッドが OnDeleted 呼び出されてイベントが発生します Deleted 。 このイベントを処理して、戻り値とエラー コードを調べ、後処理を実行できます。

メソッドは Delete 、 メソッドにプログラムでアクセスするために Delete 提供されます。 コントロールが SqlDataSource データ バインド コントロールに関連付けられている場合、データ バインド コントロールは自動的に Delete メソッドを呼び出します。

メソッドは Delete 、コントロールに Delete 関連付けられている オブジェクトの SqlDataSourceView メソッドに SqlDataSource デリゲートします。 操作を実行するには、SqlDataSourceViewテキストと関連付けられているDeleteParameters値を使用して オブジェクトをDeleteCommandビルドDbCommandし、基になるデータベースに対して をDbCommand実行します。

適用対象

こちらもご覧ください