SqlDataSourceView.DeleteParameters Propiedad

Definición

Obtiene la colección de parámetros que utiliza la propiedad DeleteCommand.Gets the parameters collection containing the parameters that are used by the DeleteCommand property.

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

ParameterCollection que contiene los parámetros utilizados por la propiedad DeleteCommand.A ParameterCollection that contains the parameters used by the DeleteCommand property.

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.The following code example demonstrates how to set the DeleteCommand text to delete an order from the Northwind database. Inicialmente, los datos se recuperan de la tabla Orders y se muestran en un DropDownList control.Initially, data is retrieved from the Orders table and displayed in a DropDownList control. Debe declarar explícitamente la DeleteParameters propiedad y llamar al Delete método al utilizar controles enlazados a datos, como (a diferencia de los DropDownList 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).You must explicitly declare the DeleteParameters property and call the Delete method when using data-bound controls, such as the DropDownList (unlike controls, such as the GridView and DetailsView, which automatically populate the parameters and call the Delete method on a data source control). En este ejemplo, el OnClick evento se delega en el OnDeleted controlador de eventos privado, que llama explícitamente al Delete método del SqlDataSource control.In this example, the OnClick event is delegated to the private OnDeleted event handler, which explicitly calls the Delete method of the 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 con parámetros, la DeleteParameters colección contiene cualquier Parameter objeto que se corresponda con los marcadores de posición de los parámetros de la cadena SQL.If the DeleteCommand property contains a parameterized SQL query, the DeleteParameters collection contains any Parameter objects that correspond to the parameter placeholders in the SQL string.

Los nombres de parámetro pueden verse afectados por la OldValuesParameterFormatString propiedad; en concreto, si el nombre identifica una clave principal, como una clave que se especifica 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 está establecida en el CompareAllValues valor y un conjunto de oldValues se pasa al método de datos correspondiente.Parameter names might be affected by the OldValuesParameterFormatString property; specifically, if the name identifies a primary key, such as a key that is specified using the DataKeyNames property of a data-bound control, or in delete and update scenarios in which the ConflictDetection property is set to the CompareAllValues value and a set of oldValues is passed to the corresponding data method. En este caso, la cadena de formato se aplica a cada nombre de parámetro de la oldValues colección.In this case, the format string is applied to each parameter name in the oldValues collection.

Dependiendo del proveedor de ADO.NET, el orden de los parámetros de la DeleteParameters colección podría ser importante.Depending on the ADO.NET provider, the order of the parameters in the DeleteParameters collection might be important. Los System.Data.OleDb System.Data.Odbc proveedores y asocian los parámetros de la colección según el orden en que aparecen los parámetros en la consulta SQL con parámetros.The System.Data.OleDb and System.Data.Odbc providers associate the parameters in the collection according to the order that the parameters appear in the parameterized SQL query. El System.Data.SqlClient proveedor, que es el proveedor 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 en la consulta SQL.The System.Data.SqlClient provider, which is the default ADO.NET provider for the SqlDataSource control, associates the parameters in the collection by matching the name of the parameter with the placeholder in the SQL query. Para obtener más información sobre los comandos y las consultas SQL parametrizados, vea usar parámetros con el control SqlDataSource.For more information on parameterized SQL queries and commands, see Using Parameters with the SqlDataSource Control.

Se aplica a

Consulte también