語言

SqlDataSource.Delete 方法

定義

使用 DeleteCommand SQL 字串及集合中 DeleteParameters 所有參數執行刪除操作。

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

傳回

一個代表從底層資料庫中刪除的列數值。

例外狀況

他們 SqlDataSource 無法與底層資料來源建立連結。

範例

以下程式碼範例示範如何設定 DeleteCommand 文字刪除 Northwind 資料庫中的訂單。 最初,資料會從訂單表取出並顯示在 DropDownList 控制項中。 使用資料綁定控制DeleteParameters項時,必須明確宣告Delete屬性並呼叫DropDownList該方法,例如(與其他控制項不同,GridView如 和 DetailsView,會自動填充參數並在資料來源控制上呼叫該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方法將委派給Delete與SqlDataSourceView控制項相關的物件的方法SqlDataSource。 執行此操作時,會SqlDataSourceView利用DbCommand文字及相關DeleteCommand值建置物件DeleteParameters,然後對底層資料庫執行。DbCommand

適用於

另請參閱