SqlDataSource.Delete Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa uma operação de exclusão usando a cadeia de caracteres SQL DeleteCommand e os parâmetros que estão na coleção DeleteParameters.
public:
int Delete();
public int Delete ();
member this.Delete : unit -> int
Public Function Delete () As Integer
Retornos
Um valor que representa o número de linhas excluídas no banco de dados subjacente.
Exceções
O SqlDataSource não pode estabelecer uma conexão com a fonte de dados subjacente.
Exemplos
O exemplo de código a seguir demonstra como definir o DeleteCommand texto para excluir um pedido do banco de dados Northwind. Inicialmente, os dados são recuperados da tabela Pedidos e exibidos em um DropDownList controle . Você deve declarar explicitamente a DeleteParameters propriedade e chamar o Delete método ao usar controles associados a dados, como o (ao contrário de DropDownList outros controles, como GridView e DetailsView, que preenchem automaticamente os parâmetros e chamam o Delete método em um controle de fonte de dados). Neste exemplo, o OnClick evento é delegado ao manipulador de eventos privado OnDelete
, que chama explicitamente o Delete método do SqlDataSource controle.
<%@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>
Comentários
Antes que a operação de exclusão seja executada, o OnDeleting método é chamado para gerar o Deleting evento. Você pode manipular esse evento para examinar os valores dos parâmetros e executar qualquer pré-processamento antes de uma operação de exclusão.
Após a conclusão da operação, o OnDeleted método é chamado para gerar o Deleted evento. Você pode manipular esse evento para examinar quaisquer valores retornados e códigos de erro e para executar qualquer pós-processamento.
O Delete método é fornecido para acesso programático ao Delete
método . Se o SqlDataSource controle estiver associado a um controle associado a dados, o controle associado a dados chamará automaticamente o método Delete .
O Delete método delega ao Delete método do SqlDataSourceView objeto associado ao SqlDataSource controle . Para executar a operação, o SqlDataSourceView cria um DbCommand objeto usando o DeleteCommand texto e quaisquer valores associados DeleteParameters e, em seguida, executa o DbCommand no banco de dados subjacente.