Insertar un registro en una BD con ADO

08/Ene/2010 ASP , , , , , 1 Comentario

Lo primero que tenemos que hacer para poder insertar un registro en una BD con ADO es conectarnos a la base de datos a través de un objeto Connection. A este objeto hay que pasarle la cadena de conexión indicando donde se encuentra la base de datos. Nosotros vamos a hacer la conexión, en este caso, sin usar DSN. Es más recomendable conectarse a la base de datos vía un DSN, pero esto nos permite ver código nuevo.

Accederemos al fichero directamente:

  1.  
  2. Set db = Server.CreateObject("ADODB.Connection")
  3. Dim DB_CONNECTIONSTRING
  4. DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("/db/prueba.mdb") & ";"
  5. db.open DB_CONNECTIONSTRING

Tanto en el acceso con DSN o sin DSN el objeto utilizado es un ADODB.Connection

Una vez que hemos abierto la conexión con la base de datos tendremos que comprobar que el texto a insertar no existe en la base de datos. Para realizar esta comprobación utilizamos una sentencia SELECT y un objeto ADODB.Recordset.

  1. set rs_existe = Server.CreateObject("ADODB.Recordset")
  2. QLStr = "SELECT valor FROM datos WHERE valor ='" + texto_insertar + "'"
  3. rs_existe.open SQLStr, DB_CONNECTIONSTRING, adOpenStatic, adLockReadOnly, adCmdText

En el caso de que esta búsqueda no nos devuelva ningún registro de la base de datos esto significa que la palabra a insertar no existe en nuestra base de datos. Es por ello que procederemos a realizar la inserción.

Lo que estamos haciendo es montar una sentencia SQL de tipo INSERT, la cual ejecutaremos sobre otro ADODB.Recordset

  1. if not (rs_existe.EOF) then
  2. Response.Write ("El valor a insertar ya existe")
  3. else
  4. set rs_insert = Server.CreateObject("ADODB.Recordset")
  5. SQLStr = "INSERT INTO datos VALUES ('" + texto_recibido + "')"
  6. rs_insert.open SQLStr, DB_CONNECTIONSTRING, adOpenStatic, adLockReadOnly,adCmdText
  7. Response.Write ("Insertado el valor " + texto_recibido)
  8. end if

Para realizar una inserción en una base de datos utilizamos la sentencia INSERT; la cual tiene la siguiente forma:

  1. INSERT INTO tabla[s] (campo[s]) VALUES (valor1, valor2,..., valorN)

Los valores deberán de coincidir con su posición en la tabla de la base de datos.

Con unas pocas líneas de código tenemos nuestro fichero ASP que utiliza los objetos de ADO para insertar un registro en una BD.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*