SqlDataSource.Delete Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.