ADO Inserción de registros en una base de datos

¿Has oído hablar de ADO? Es una tecnología de Microsoft que permite la conexión y manipulación de datos en una base de datos. En este artículo, te enseñamos cómo utilizar ADO para insertar registros en una base de datos de forma sencilla y eficiente. ¡No te lo pierdas!

En este tutorial, veremos un ejemplo de cómo insertar nuevos registros en una tabla de base de datos utilizando ASP y ADO. Necesitamos entender cómo usar el SQL INSERT INTO declaración y cómo integrarla con ADO.

Declaración SQL INSERT INTO

Lenguaje de consulta estructurado, también conocido como sqles el lenguaje estándar utilizado con la mayoría de las aplicaciones de bases de datos modernas. SQL nos proporciona un mecanismo para seleccionar, insertar, actualizar y modificar registros en una base de datos.

En este resumen, nos vamos a centrar en el SQL INSERT INTO declaración. Para obtener información más detallada sobre SQL, visite la sección SQL de este sitio. Hay docenas de tutoriales para ayudarlo a comprender mejor el lenguaje SQL.

Sintaxis

INSERT INTO tableName (field1, field2, field3)
VALUES ('value1', 'value2', 'value3')

OR

INSERT INTO tableName VALUES ('value1', 'value2', 'value3')

En el ejemplo anterior, el INSERT INTO declaración inserta tres valores en tres campos. Si inserta los valores desordenados, deberá usar el primer ejemplo.

Sin embargo, si usted no especificar los nombres de campo en la declaración, los valores se insertan en el orden en que se presentan como en el segundo ejemplo.

Así que el siguiente paso es echar un vistazo a cómo incorporamos el SQL INSERT INTO declaración en nuestro código ASP/ADO.

Uso del objeto de conexión

<% 
Dim oConn, ds, sql
ds = "Driver={MySQL ODBC 3.51 Driver};SERVER=db-hostname;DATABASE=db-name;UID=userID;PWD=password"
sql = "INSERT INTO employees (empName, empTitle) VALUES ('Josh Walker', 'Manager')"

Set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open ds
oConn.Execute sql

oConn.close
Set oConn=nothing
%>

El ejemplo anterior simplemente crea el objeto Connection que abre la base de datos e inserta los registros en campos específicos de la tabla de acuerdo con el SQL INSERT INTO declaración.

Agregar nuevo formulario

Un enfoque común para insertar información en su base de datos es utilizar un formulario en una página web. El usuario rellena el formulario y lo envía. Usted envía la información del formulario a una página ASP que lee en forma de valores y inserciones datos en la base de datos.

Tenga en cuenta que debe validar la entrada de su usuario en la página de origen antes de insertar información en su base de datos. Este es un ejemplo de una página ASP utilizada para recopilar la información dentro de un formulario.

<!DOCTYPE html>
<html>
<head>
    <title>Employee Insert</title>
</head>
<body>
    <form method="post" action="employeeInsert.asp">
        <table>
            <tr>
                <td>Employee Name:</td>
                <td><input name="empName"></td>
            </tr>
            <tr>
                <td>Employee Title:</td>
                <td><input name="empTitle"></td>
            </tr>
        </table>
        <br /><br />
        <input type="submit" value="Add New">
        <input type="reset" value="Cancel">
    </form>
</body>
</html>

Un usuario simplemente necesita visitar el página del formulario de solicitudcomplete la información y haga clic en el Agregar nuevo botón. El usuario será redirigido a la employeeInsert.asp página donde estará la información del formulario recogido y un nuevo récord será insertado en la base de datos. Aquí hay algunos ejemplos del código ASP/ADO para el employeeInsert.asp página.

<% 
Dim oConn, ds, sql, qName, qTitle
qName = Request.Form("empName")
qTitle = Request.Form("empTitle")
ds = "Driver={MySQL ODBC 3.51 Driver};SERVER=db-hostname;DATABASE=db-name;UID=userID;PWD=password"
sql = "INSERT INTO employees (empName, empTitle) VALUES ('" & qName & "', '" & qTitle & "')"

Set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open ds

oConn.Execute sql
If err<>0 then
  Response.Write("There was an error!")
Else
  Response.Write("Record Added!")
End if

oConn.close
Set oConn=nothing
%>

Uso de parámetros

Al insertar datos en una base de datossiempre es una buena práctica parámetros de uso para que la información proporcionada por la entrada del usuario se trate como literal. Esto es para que puedas prevenir un ataque de inyección SQL por un usuario que manipula el Form datos e incluye código SQL no deseado.

<% 
Dim oConn, oCmd, ds, sql, qName, qTitle
qName = Request.Form("empName")
qTitle = Request.Form("empTitle")
ds = "Driver={MySQL ODBC 3.51 Driver};SERVER=db-hostname;DATABASE=db-name;UID=userID;PWD=password"
sql = "INSERT INTO employees (empName, empTitle) VALUES (?,?)"

Set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open ds

Set oCmd = Server.CreateObject("ADODB.Command") 
oCmd.ActiveConnection = oConn
oCmd.CommandText = sql
oCmd.CommandType = 1
oCmd.Parameters(0) = qName
oCmd.Parameters(1) = qTitle
oCmd.Execute()
If err<>0 then
  Response.Write("There was an error!")
Else
  Response.Write("Record Added!")
End if

oConn.close
Set oConn=nothing
%>

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Deja un comentario