SqlDataSource.Delete 方法

定義

使用 DeleteCommand SQL 字串和 DeleteParameters 集合中的任何參數,執行刪除作業。

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

傳回

表示從基礎資料庫刪除之資料列數的值。

例外狀況

SqlDataSource 不能以基礎資料來源建立連接。

範例

下列程式碼範例示範如何設定 DeleteCommand 文字以從 Northwind 資料庫刪除訂單。 一開始,資料會從 Orders 資料表擷取,並顯示在 控制項中 DropDownList 。 使用資料繫結控制項時,您必須明確宣告 DeleteParameters 屬性並呼叫 Delete 方法,例如 DropDownList (與其他控制項不同的控制項,例如 GridViewDetailsView ,這會自動填入參數,並在資料來源控制項上呼叫 Delete 方法) 。 在此範例中 OnClick ,事件會委派給私 OnDelete 用事件處理常式,以明確呼叫 Delete 控制項的 SqlDataSource 方法。

<%@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 會委派給 DeleteSqlDataSource 控制項相關聯之 SqlDataSourceView 物件的 方法。 若要執行作業,會 SqlDataSourceView 使用文字和任何相關聯的 DeleteParameters 值來建 DbCommand 置 物件,然後針對基礎資料庫執行 DbCommandDeleteCommand

適用於

另請參閱