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.Performs a delete operation using the DeleteCommand SQL string and any parameters that are in the DeleteParameters collection.

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.A value that represents the number of rows deleted from the underlying database.

Ausnahmen

Die SqlDataSource kann keine Verbindung mit der zugrunde liegenden Datenquelle herstellen.The SqlDataSource cannot establish a connection with the underlying data source.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie der DeleteCommand Text zum Löschen einer Bestellung aus der Northwind-Datenbank festgelegt wird.The following code example demonstrates how to set the DeleteCommand text to delete an order from the Northwind database. Zunächst werden die Daten aus der Tabelle Orders abgerufen und in einem DropDownList -Steuerelement angezeigt.Initially, data is retrieved from the Orders table and displayed in a DropDownList control. Die DeleteParameters -Eigenschaft muss explizit deklariert und die Delete -Methode aufgerufen werden, wenn Daten gebundene Steuer DropDownList Elemente verwendet werden, z. b. (im GridView Gegensatz DetailsViewzu anderen Steuerelementen wie und, die automatisch das -Parameter und ruft Delete die-Methode für ein Datenquellen-Steuerelement auf.)You must explicitly declare the DeleteParameters property and call the Delete method when using data-bound controls, such as the DropDownList (unlike other controls, such as GridView and DetailsView, which automatically populate the parameters and call the Delete method on a data source control). In diesem Beispiel wird das OnClick -Ereignis an den privaten OnDelete Ereignishandler delegiert, der explizit die Delete -Methode des- SqlDataSource Steuer Elements aufruft.In this example, the OnClick event is delegated to the private OnDelete event handler, which explicitly calls the Delete method of the SqlDataSource control.

<%@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 OnDeleting die-Methode aufgerufen, um Deleting das-Ereignis zu erhöhen.Before the delete operation is performed, the OnDeleting method is called to raise the Deleting event. Sie können dieses Ereignis behandeln, um die Werte der Parameter zu überprüfen und vor einem Löschvorgang eine Vorverarbeitung auszuführen.You can handle this event to examine the values of the parameters and to perform any preprocessing before a delete operation.

Nachdem der Vorgang abgeschlossen wurde, OnDeleted wird die-Methode aufgerufen, Deleted um das-Ereignis zu erhöhen.After the operation completes, the OnDeleted method is called to raise the Deleted event. Sie können dieses Ereignis behandeln, um alle Rückgabewerte und Fehlercodes zu überprüfen und Nachbearbeitung auszuführen.You can handle this event to examine any return values and error codes and to perform any post-processing.

Die Delete -Methode wird für den programmgesteuerten Zugriff Delete auf die-Methode bereitgestellt.The Delete method is provided for programmatic access to the Delete method. Wenn das SqlDataSource Steuerelement einem Daten gebundenen Steuerelement zugeordnet ist, ruft das Daten gebundene Steuerelement automatisch die Delete -Methode auf.If the SqlDataSource control is associated with a data-bound control, the data-bound control automatically calls the Delete method.

Die Delete -Methode delegiert an Delete die-Methode SqlDataSourceView des-Objekts, das dem SqlDataSource -Steuerelement zugeordnet ist.The Delete method delegates to the Delete method of the SqlDataSourceView object that is associated with the SqlDataSource control. Zum Ausführen des Vorgangs erstellt das SqlDataSourceView ein DbCommand -Objekt unter Verwendung DeleteCommand des Texts und der DeleteParameters zugehörigen Werte und führt dann das DbCommand -Objekt für die zugrunde liegende Datenbank aus.To perform the operation, the SqlDataSourceView builds a DbCommand object using the DeleteCommand text and any associated DeleteParameters values, and then executes the DbCommand against the underlying database.

Gilt für:

Siehe auch