SqlDataSource.UpdateParameters 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 contiene los parámetros utilizados por la propiedad UpdateCommand desde el objeto SqlDataSourceView asociado con el control SqlDataSource.
public:
property System::Web::UI::WebControls::ParameterCollection ^ UpdateParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection UpdateParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.UpdateParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property UpdateParameters As ParameterCollection
Valor de propiedad
ParameterCollection que contiene los parámetros utilizados por la propiedad UpdateCommand.
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar un SqlDataSource control para mostrar datos en un DropDownList control y actualizar datos cuando se hace clic en el botón Enviar . UpdateCommand se establece con una instrucción SQL con parámetros y se agregan dos ControlParameter parámetros a la UpdateParameters colección. Cuando se hace clic en el botón Enviar , el OnClick evento se controla para llamar al Update método explícitamente.
Importante
En este ejemplo se incluye un cuadro de texto que acepta la entrada del usuario, que es una amenaza de seguridad potencial, y los valores se insertan en parámetros sin validación, lo que también es una amenaza de seguridad potencial. Use el Inserting evento para validar los valores de parámetro antes de ejecutar la consulta. Para más información, consulte Información general sobre los ataques mediante scripts.
<%@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 On_Click(Object source, EventArgs e) {
try {
SqlDataSource1.Update();
}
catch (Exception except) {
// Handle the Exception.
}
Label2.Text="The record was updated successfully!";
}
</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 EmployeeID, LastName, Address FROM Employees"
UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID">
<UpdateParameters>
<asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
<asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</UpdateParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="LastName"
DataValueField="EmployeeID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<br />
<asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
AssociatedControlID="TextBox1" />
<asp:TextBox id="TextBox1" runat="server" />
<asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />
<br /><asp:Label id="Label2" runat="server" Text="" />
</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_Click(ByVal source As Object, ByVal e As EventArgs)
Try
SqlDataSource1.Update()
Catch except As Exception
' Handle the Exception.
End Try
Label2.Text="The record was updated successfully!"
End Sub 'On_Click
</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 EmployeeID, LastName, Address FROM Employees"
UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID">
<UpdateParameters>
<asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
<asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</UpdateParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="LastName"
DataValueField="EmployeeID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<br />
<asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
AssociatedControlID="TextBox1" />
<asp:TextBox id="TextBox1" runat="server" />
<asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />
<br /><asp:Label id="Label2" runat="server" Text="" />
</form>
</body>
</html>
Comentarios
Si la UpdateCommand propiedad contiene una consulta SQL parametrizada, la UpdateParameters colección contiene los Parameter objetos que corresponden a los marcadores de posición de parámetros de la cadena SQL.
Los nombres de parámetros pueden verse afectados por la OldValuesParameterFormatString propiedad , específicamente si el nombre identifica una clave principal, como una clave especificada mediante la DataKeyNames
propiedad del 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 se pasan al método de oldValues
datos correspondiente. En este caso, la cadena de formato se aplica a cada nombre de parámetro de la oldValues
colección.
El orden de los parámetros de la UpdateParameters colección puede ser importante, en función del proveedor de ADO.NET. 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 un alias de marcador de posición en la consulta SQL. Para obtener más información sobre las consultas y comandos SQL con parámetros, vea Uso de parámetros con el control SqlDataSource.
La UpdateParameters propiedad recupera la UpdateParameters propiedad contenida por el SqlDataSourceView objeto asociado al SqlDataSource control .
Importante
Los valores se insertan en parámetros sin validación, lo que es una amenaza de seguridad potencial. Use el Filtering evento para validar los valores de parámetro antes de ejecutar la consulta. Para más información, consulte Información general sobre los ataques mediante scripts.