Språk

SqlDataSource.Delete Metod

Definition

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.

Gäller för

Se även