Freigeben über


SqlDataSource.Delete Methode

Definition

Führt mithilfe der DeleteCommand-SQL-Zeichenfolge und allen Parametern, die in der DeleteParameters-Auflistung vorhanden sind, einen Löschvorgang aus.

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

Gibt zurück

Ein Wert, der die Anzahl der Zeilen darstellt, die aus der zugrunde liegenden Datenbank gelöscht wurden.

Ausnahmen

Die SqlDataSource kann keine Verbindung mit der zugrunde liegenden Datenquelle herstellen.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Der DeleteCommand Text so festgelegt wird, dass eine Bestellung aus der Northwind-Datenbank gelöscht wird. Zunächst werden Daten aus der Tabelle Orders abgerufen und in einem DropDownList Steuerelement angezeigt. Sie müssen die DeleteParameters -Eigenschaft explizit deklarieren und die Delete -Methode aufrufen, wenn Sie datengebundene Steuerelemente wie das DropDownList -Steuerelement verwenden (im Gegensatz zu anderen Steuerelementen, z GridView . B. und DetailsView, die die Parameter automatisch auffüllen und die Delete -Methode für ein Datenquellensteuerelement aufrufen). In diesem Beispiel wird das OnClick Ereignis an den privaten OnDelete Ereignishandler delegiert, der explizit die Delete -Methode des SqlDataSource -Steuerelements aufruft.

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

Hinweise

Bevor der Löschvorgang ausgeführt wird, wird die OnDeleting -Methode aufgerufen, um das Ereignis auszulösen Deleting . Sie können dieses Ereignis behandeln, um die Werte der Parameter zu untersuchen und vor einem Löschvorgang eine Vorverarbeitung durchzuführen.

Nach Abschluss des Vorgangs wird die OnDeleted -Methode aufgerufen, um das Ereignis auszulösen Deleted . Sie können dieses Ereignis behandeln, um alle Rückgabewerte und Fehlercodes zu untersuchen und eine Nachverarbeitung durchzuführen.

Die Delete -Methode wird für den programmgesteuerten Zugriff auf die Delete -Methode bereitgestellt. Wenn das SqlDataSource Steuerelement einem datengebundenen Steuerelement zugeordnet ist, ruft das datengebundene Steuerelement automatisch die Delete-Methode auf.

Die Delete -Methode delegiert die -Methode an die DeleteSqlDataSourceView -Methode des -Objekts, das dem SqlDataSource Steuerelement zugeordnet ist. Zum Ausführen des Vorgangs erstellt der SqlDataSourceView ein DbCommand -Objekt mit dem DeleteCommand Text und allen zugeordneten DeleteParameters Werten und führt dann das für die DbCommand zugrunde liegende Datenbank aus.

Gilt für:

Weitere Informationen