Freigeben über


SqlDataSource.Delete Methode

Definition

Führt einen Löschvorgang mit der DeleteCommand SQL-Zeichenfolge und allen Parametern aus, die sich in der DeleteParameters Auflistung befinden.

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 aus der zugrunde liegenden Datenbank gelöschten Zeilen darstellt.

Ausnahmen

Die SqlDataSource Verbindung mit der zugrunde liegenden Datenquelle kann nicht hergestellt werden.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie der DeleteCommand Text so festgelegt wird, dass eine Reihenfolge aus der Northwind-Datenbank gelöscht wird. Zunächst werden Daten aus der Tabelle "Bestellungen" abgerufen und in einem DropDownList Steuerelement angezeigt. Sie müssen die DeleteParameters Eigenschaft explizit deklarieren und die Delete Methode aufrufen, wenn Sie datengebundene Steuerelemente verwenden, z. B. die DropDownList (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 die Delete Methode des SqlDataSource Steuerelements explizit 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 Deleting Ereignis auszuheben. Sie können dieses Ereignis behandeln, um die Werte der Parameter zu untersuchen und alle Vorverarbeitungen vor einem Löschvorgang auszuführen.

Nach Abschluss des Vorgangs wird die OnDeleted Methode aufgerufen, um das Deleted Ereignis auszuheben. Sie können dieses Ereignis behandeln, um alle Rückgabewerte und Fehlercodes zu untersuchen und jede Nachbearbeitung 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 an die Delete Methode des SqlDataSourceView Objekts, das dem SqlDataSource Steuerelement zugeordnet ist. Zum Ausführen des Vorgangs erstellt das SqlDataSourceView Objekt ein DbCommand Objekt mit dem DeleteCommand Text und den zugehörigen DeleteParameters Werten und führt dann die DbCommand zugrunde liegende Datenbank aus.

Gilt für:

Weitere Informationen