SqlDataSource.Delete 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 개체를 빌드 DbCommand 한 DeleteParameters 다음 기본 데이터베이스에 대해 실행합니다DbCommand.