Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

SqlDataSource.Insert (Método)

Realiza una operación de inserción mediante la cadena SQL InsertCommand SQL y cualquier parámetro que esté en la colección InsertParameters.

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

Valor devuelto

Tipo: System.Int32
Valor que representa el número de filas insertadas en la base de datos subyacente.
ExcepciónCondición
InvalidOperationException

El control SqlDataSource no puede establecer una conexión con el origen de datos subyacente.

Antes de realizarse la operación de inserción se llama al método OnInserting para provocar el evento Inserting. Se puede controlar este evento para que examine los valores de los parámetros y realice algún preprocesamiento antes de una operación Insert. Para realizar una operación de inserción, el objeto SqlDataSourceView crea un objeto DbCommand utilizando el texto InsertCommand y los valores InsertParameters asociados y, a continuación, ejecuta el comando DbCommand contra la base de datos subyacente.

Una vez finalizada la operación, se llama al método OnInserted para provocar el evento Inserted. Este evento se puede controlar para examinar los valores y códigos de error devueltos y llevar a cabo el procesamiento posterior necesario.

El método Insert se proporciona para el acceso mediante programación al método Insert. Si el control SqlDataSource se asocia a un control enlazado a datos, el control enlazado a datos automáticamente llama al método Insert.

El método Insert delega en el método Insert del objeto SqlDataSourceView, que está asociado al control SqlDataSource.

Nota de seguridadNota sobre la seguridad

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

En el siguiente ejemplo de código se muestra cómo insertar datos en una base de datos con el control SqlDataSource y una sencilla página de formularios Web Forms. Los datos actuales de la tabla de datos se muestran en el control DropDownList. Puede agregar nuevos registros; para ello, especifique valores en los controles TextBox 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, a continuación, se actualiza DropDownList.

Nota de seguridadNota sobre la seguridad

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

NotaNota

En este ejemplo se muestra cómo utilizar la sintaxis declarativa para el acceso a datos. Para obtener información sobre cómo obtener acceso a los datos usando código en lugar de marcado, vea 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

Compatible con: 4.5, 4, 3.5, 3.0, 2.0

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.