SqlDataSourceView.DeleteParameters Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.