Compartir vía


SqlDataSource.Delete Método

Definición

Realiza una operación de eliminación mediante la DeleteCommand cadena SQL y los parámetros que se encuentran en la DeleteParameters colección.

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

no SqlDataSource 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 privado 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 mediante 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