SqlDataSource.InsertParameters Propiedad

Definición

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

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

Valor de propiedad

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

Atributos

Ejemplos

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

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.

Nota

En este ejemplo se muestra cómo usar la sintaxis declarativa para el acceso a datos. Para obtener información sobre cómo acceder a los datos mediante código en lugar de marcado, consulte Acceso a 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>
<%@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">
Private Sub InsertShipper (ByVal Source As Object, ByVal e As EventArgs)
  SqlDataSource1.Insert()
End Sub ' InsertShipper
</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>

Comentarios

La InsertParameters propiedad recupera la InsertParameters propiedad contenida por el SqlDataSourceView objeto asociado al SqlDataSource control .

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

Dependiendo del proveedor de ADO.NET, el orden de los parámetros de la InsertParameters 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 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.

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.

Se aplica a

Consulte también