Compartir a través de


SqlDataSourceView.DeleteParameters Propiedad

Definición

Obtiene la colección de parámetros que utiliza la propiedad DeleteCommand.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ DeleteParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection DeleteParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DeleteParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property DeleteParameters As ParameterCollection

Valor de propiedad

ParameterCollection que contiene los parámetros utilizados por la propiedad DeleteCommand.

Atributos

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 los controles, como y DetailsViewGridView ), 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 OnDeleted , 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

Si la DeleteCommand propiedad contiene una consulta SQL parametrizada, la DeleteParameters colección contiene los Parameter objetos que corresponden a los marcadores de posición de parámetro de la cadena SQL.

Los nombres de parámetro pueden verse afectados por la OldValuesParameterFormatString propiedad ; en concreto, si el nombre identifica una clave principal, como una clave especificada mediante la DataKeyNames propiedad de un control enlazado a datos, o en escenarios de eliminación y actualización en los que la ConflictDetection propiedad se establece en el CompareAllValues valor y un conjunto de oldValues se pasa al método de datos correspondiente. En este caso, la cadena de formato se aplica a cada nombre de parámetro de la oldValues colección.

Según el proveedor de ADO.NET, el orden de los parámetros de la DeleteParameters colección puede ser importante. Los System.Data.OleDb proveedores y System.Data.Odbc asocian los parámetros de la colección según el orden en que aparecen los parámetros en la consulta SQL parametrizada. El System.Data.SqlClient proveedor, que es el proveedor de ADO.NET predeterminado para el SqlDataSource control, asocia los parámetros de la colección haciendo coincidir el nombre del parámetro con el marcador de posición de la consulta SQL. Para obtener más información sobre las consultas y comandos SQL parametrizados, vea Usar parámetros con el control SqlDataSource.

Se aplica a

Consulte también