SqlDataSource.Delete Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Utför en borttagningsåtgärd med hjälp av SQL-strängen DeleteCommand och alla parametrar som finns i DeleteParameters samlingen.
public:
int Delete();
public int Delete();
member this.Delete : unit -> int
Public Function Delete () As Integer
Returer
Ett värde som representerar antalet rader som tagits bort från den underliggande databasen.
Undantag
Det SqlDataSource går inte att upprätta en anslutning till den underliggande datakällan.
Exempel
Följande kodexempel visar hur du ställer in DeleteCommand texten för att ta bort en order från Northwind-databasen. Inledningsvis hämtas data från tabellen Beställningar och visas i en DropDownList kontroll. Du måste uttryckligen deklarera DeleteParameters egenskapen och anropa Delete metoden när du använder databundna kontroller, till exempel DropDownList (till skillnad från andra kontroller, till exempel GridView och DetailsView, som automatiskt fyller i parametrarna och anropar Delete metoden på en datakällskontroll). I det här exemplet OnClick delegeras händelsen till den privata OnDelete händelsehanteraren, som uttryckligen anropar Delete kontrollens SqlDataSource metod.
<%@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>
Kommentarer
Innan borttagningsåtgärden OnDeleting utförs anropas metoden för att skapa Deleting händelsen. Du kan hantera den här händelsen för att undersöka parametrarnas värden och utföra eventuell förbearbetning före en borttagningsåtgärd.
När åtgärden har slutförts anropas OnDeleted metoden för att skapa Deleted händelsen. Du kan hantera den här händelsen för att undersöka eventuella returvärden och felkoder och utföra eventuella efterbearbetningar.
Metoden Delete tillhandahålls för programmatisk åtkomst till Delete metoden. Om kontrollen SqlDataSource är associerad med en databunden kontroll anropar den databundna kontrollen automatiskt metoden Ta bort .
Metoden Delete delegerar till metoden för Delete objektet SqlDataSourceView som är associerat med SqlDataSource kontrollen. För att utföra åtgärden skapar SqlDataSourceView ett DbCommand objekt med hjälp av DeleteCommand texten och eventuella associerade DeleteParameters värden och kör DbCommand sedan mot den underliggande databasen.