Condividi tramite


SqlDataSource.Delete Metodo

Definizione

Esegue un'operazione di eliminazione utilizzando la stringa SQL DeleteCommand e tutti i parametri nell'insieme DeleteParameters.

public:
 int Delete();
public int Delete ();
member this.Delete : unit -> int
Public Function Delete () As Integer

Restituisce

Valore che rappresenta il numero di righe eliminate dal database sottostante.

Eccezioni

L'oggetto SqlDataSource non può stabilire una connessione con l'origine dati sottostante.

Esempio

Nell'esempio di codice seguente viene illustrato come impostare il DeleteCommand testo per eliminare un ordine dal database Northwind. Inizialmente, i dati vengono recuperati dalla tabella Orders e visualizzati in un DropDownList controllo . È necessario dichiarare in modo esplicito la DeleteParameters proprietà e chiamare il Delete metodo quando si usano controlli associati a dati, ad esempio DropDownList , a differenza di altri controlli, ad esempio GridView e DetailsView, che popolano automaticamente i parametri e chiamano il Delete metodo su un controllo origine dati. In questo esempio l'evento OnClick viene delegato al gestore eventi privato OnDelete , che chiama in modo esplicito il Delete metodo del SqlDataSource controllo.

<%@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>

Commenti

Prima di eseguire l'operazione di eliminazione, viene chiamato il OnDeleting metodo per generare l'evento Deleting . È possibile gestire questo evento per esaminare i valori dei parametri e per eseguire qualsiasi pre-elaborazione prima di un'operazione di eliminazione.

Al termine dell'operazione, viene chiamato il OnDeleted metodo per generare l'evento Deleted . È possibile gestire questo evento per esaminare i valori restituiti e i codici di errore e per eseguire qualsiasi post-elaborazione.

Il Delete metodo viene fornito per l'accesso a livello di codice al Delete metodo . Se il SqlDataSource controllo è associato a un controllo associato a dati, il controllo associato a dati chiama automaticamente il metodo Delete .

Il Delete metodo delega al Delete metodo dell'oggetto SqlDataSourceView associato al SqlDataSource controllo . Per eseguire l'operazione, compila SqlDataSourceView un DbCommand oggetto usando il DeleteCommand testo e tutti i valori associati DeleteParameters e quindi esegue l'oggetto sul DbCommand database sottostante.

Si applica a

Vedi anche