Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad SqlDataSource.InsertParameters

 

Publicado: octubre de 2016

Obtiene la colección de parámetros que contiene los parámetros utilizados por la InsertCommand propiedad desde la SqlDataSourceView objeto que está asociado el SqlDataSource control.

Espacio de nombres:   System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

[PersistenceModeAttribute(PersistenceMode.InnerProperty)]
public ParameterCollection InsertParameters { get; }

Valor de propiedad

Type: System.Web.UI.WebControls.ParameterCollection

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

El InsertParameters recupera de la propiedad del InsertParameters propiedad que está contenida en el SqlDataSourceView objeto que está asociado el SqlDataSource control.

Si el InsertCommand propiedad contiene una consulta SQL con parámetros, la InsertParameters colección contiene cualquier Parameter objetos que corresponden a los marcadores de posición de parámetro en la cadena SQL.

Dependiendo del proveedor ADO.NET, el orden de los parámetros en la InsertParameters colección podría ser importante. El System.Data.OleDb y System.Data.Odbc proveedores 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. El System.Data.SqlClient proveedor, que es el proveedor ADO.NET predeterminado para el SqlDataSource controlar, asocia los parámetros de la colección comparando el nombre del parámetro con un alias de marcador de posición en la consulta SQL. Para obtener más información acerca de las consultas SQL parametrizadas y comandos, vea Using Parameters with the SqlDataSource Control.

System_CAPS_security Seguridad Nota

Los valores se insertan en parámetros sin validación, lo que puede suponer una amenaza de seguridad. Utilice la Filtering eventos para validar los valores de parámetro antes de ejecutar la consulta. Para obtener más información, consulta Script Exploits Overview.

En el ejemplo de código siguiente se muestra cómo insertar datos en una base de datos mediante el SqlDataSource control y una sencilla página de formularios Web Forms. Los datos actuales de la tabla de datos se muestran en el DropDownList control. Puede agregar nuevos registros especificando valores en la TextBox controles y, a continuación, haga clic en el Insertar botón. Cuando el Insertar se hace clic en el botón, los valores especificados se insertan en la base de datos y el DropDownList control se actualiza.

System_CAPS_security Seguridad Nota

Este ejemplo incluye un cuadro de texto que acepta datos proporcionados por el usuario, que puede suponer una amenaza para la seguridad, y los valores se insertan en parámetros sin validación, lo que también puede suponer una amenaza de seguridad. Utilice la Inserting eventos para validar los valores de parámetro antes de ejecutar la consulta. Para obtener más información, consulta Script Exploits Overview.

System_CAPS_noteNota

En este ejemplo se muestra cómo utilizar la sintaxis declarativa para el acceso a datos. Para obtener información acerca de cómo obtener acceso a datos mediante código en lugar de marcado, consulte Obtener acceso a los datos en Visual Studio.

<%@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 InsertShipper (object source, EventArgs e) {
  SqlDataSource1.Insert();
}
</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:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox" />
            <asp:formparameter name="Phone"  formfield="PhoneBox" />
          </insertparameters>
      </asp:sqldatasource>

      <br /><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <br /><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <br /><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </form>
  </body>
</html>

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: