Compartir a través de


SqlDataSource.Delete Método

Definición

Realiza una operación de eliminación mediante la cadena SQL DeleteCommand SQL y cualquier parámetro que esté en la colección DeleteParameters.

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

Devoluciones

Valor que representa el número de filas eliminadas de la base de datos subyacente.

Excepciones

El control SqlDataSource no puede establecer una conexión con el origen de datos subyacente.

Ejemplos

En el ejemplo de código siguiente se muestra cómo establecer el DeleteCommand texto para eliminar un pedido de la base de datos Northwind. Inicialmente, los datos se recuperan de la tabla Orders y se muestran en un DropDownList control . Debe declarar explícitamente la DeleteParameters propiedad y llamar al Delete método al usar controles enlazados a datos, como ( DropDownList a diferencia de otros controles, como GridView y DetailsView, que rellenan automáticamente los parámetros y llaman al Delete método en un control de origen de datos). En este ejemplo, el OnClick evento se delega al controlador de eventos privados OnDelete , que llama explícitamente al Delete método del SqlDataSource control .

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

Comentarios

Antes de realizar la operación de eliminación, OnDeleting se llama al método para generar el Deleting evento. Puede controlar este evento para examinar los valores de los parámetros y realizar cualquier preprocesamiento antes de una operación de eliminación.

Una vez completada la operación, OnDeleted se llama al método para generar el Deleted evento. Puede controlar este evento para examinar los valores devueltos y los códigos de error y para realizar cualquier procesamiento posterior.

El Delete método se proporciona para el acceso mediante programación al Delete método . Si el SqlDataSource control está asociado a un control enlazado a datos, el control enlazado a datos llama automáticamente al método Delete .

El Delete método delega al Delete método del SqlDataSourceView objeto asociado al SqlDataSource control . Para realizar la operación, compila SqlDataSourceView un DbCommand objeto con el DeleteCommand texto y los valores asociados DeleteParameters y, a continuación, ejecuta en DbCommand la base de datos subyacente.

Se aplica a

Consulte también