다음을 통해 공유


SqlDataSource.Delete 메서드

정의

SQL 문자열 및 컬렉션에 DeleteCommand 있는 DeleteParameters 모든 매개 변수를 사용하여 삭제 작업을 수행합니다.

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

반환

기본 데이터베이스에서 삭제된 행 수를 나타내는 값입니다.

예외

SqlDataSource 기본 데이터 원본과의 연결을 설정할 수 없습니다.

예제

다음 코드 예제에서는 Northwind 데이터베이스에서 주문을 삭제하도록 텍스트를 설정하는 DeleteCommand 방법을 보여 줍니다. 처음에는 Orders 테이블에서 데이터를 검색하여 컨트롤에 DropDownList 표시합니다. 데이터 바인딩된 컨트롤을 사용할 때 속성을 명시적으로 선언 DeleteParameters 하고 메서드를 호출 Delete 해야 합니다(예: DropDownList 매개 변수를 자동으로 채우고 데이터 소스 컨트롤에서 메서드를 호출 Delete 하는 등과 같은 GridViewDetailsView다른 컨트롤과는 달리). 이 예제 OnClick 에서 이벤트는 컨트롤의 SqlDataSource 메서드를 명시적으로 호출 Delete 하는 프라이빗 OnDelete 이벤트 처리기에 위임됩니다.

<%@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 수행하기 위해 텍스트 및 연결된 값을 사용하여 DeleteCommand 개체를 빌드 DbCommandDeleteParameters 다음 기본 데이터베이스에 대해 실행합니다DbCommand.

적용 대상

추가 정보