SqlDataSource.Delete Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.