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:
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("/db/prueba.mdb") & ";"
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.
set rs_existe = Server.CreateObject("ADODB.Recordset")
QLStr = "SELECT valor FROM datos WHERE valor ='" + texto_insertar + "'"
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
if not (rs_existe.EOF) then
Response.Write ("El valor a insertar ya existe")
else
set rs_insert = Server.CreateObject("ADODB.Recordset")
SQLStr = "INSERT INTO datos VALUES ('" + texto_recibido + "')"
rs_insert.open SQLStr, DB_CONNECTIONSTRING, adOpenStatic, adLockReadOnly,adCmdText
Response.Write ("Insertado el valor " + texto_recibido)
end if
Para realizar una inserción en una base de datos utilizamos la sentencia INSERT; la cual tiene la siguiente forma:
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.