Conexión a una BD y otras partes del proceso

Hace casi un año di un curso de Visual Basic y recuerdo como lo más tedioso y complejo de mi aprendizaje el trabajo con BD, la creación de conexiones con una BD, el abrir una BD, etc.
Ahora estoy metido con ASP y por narices tengo que retomar todo esto de las BD. No sé si estoy peleado con las conexiones a Bases de Datos o si estoy peleado con la forma en la que lo explican en los libros.
Agradecería por ello, para quitarme de encima toneladas de angustia, que algún entendido me expusiera aquí, en unas pocas líneas de código, cómo se accede desde ASP a una BD, como se abre una tabla, como se añade un registro y como se actualiza la BD.
Es algo que viene en los libros, sí, pero más de uno me dará la razón de que lo explican fatal.
1

1 Respuesta

2.525 pts.
A ver primero tienes que generar un DNS de sistema en el ODBC del servidor ASP. ¿Qué llamaremos name_dns vale?
Luego tienes que crear los objetos conexión y recordset (conjto de registros):
Set con=server.createobject("ADODB.Connection")
Set rs=server.createobject("ADODB.Recordset")
¿Hasta aquí bien no?
Ahora tenemos que abrir tanto la conexión como el recordset, pero antes
Definiremos varias variables:
DNS="DNS=name_dns;UID=usuario;PWD=password;"
SQL="SELECT * FROM table"
Conn. Open DNS
Rs. Open SQL, conn, 1,1
Ahora ya tenemos en el objeto rs el conjunto de registros resultado de la consulta sql.
El 1,1 del final de la sentencia anterior significa que es de solo lectura.
Se podría cambiar a 2,2 para escritura pero es más fácil como explico abajo.
Supongo que avanzar y retroceder por el rs ya sabrás (mira los libros). Para que te hagas una idea tendrías una especie de tabla de Access con un resultado en cada fila.
Así que mostrar un campo cualquiera seria:
rs("nombre_campo")
Avanzar:
rs.movenext
Retroceder:
rs.moveprevious (¿?, no me acuerdo exactamente)
Después de hacer lo que tengas que hacer con los datos simplemente cierra.
Rs. Close
Conn. Close
Para escribir datos en la BD:
Cambiamos la sentencia SQL:
SQL="INSERT INTO table_name(campo1,campo2,...) VALUES (valor1,valor2,...)"
Y en vez de usar un recordset (osea puedes pasar de todas las sentencias relacionadas con rs de antes) ejecutas la consulta contra la conexión.
conn.execute SQL
Podrias utilizar el recordset en modo escritura, abrir el recordset, ejecutar la SQL y luego actualizar el recordset en la BD:
rs.update
Pero parece mas facil y es menos lioso de la manera de antes.
Incluso podrias utilizar rs.addnew y luego rs("campo1")=valor1 pero ya te digo que mejor la primera manera es mas corta y te evitara muchas lineas de codigo que solo traen problemas.
Bueno espero que te haya ayudado.
Ahhh! Por cierto yo aprendí todo esto y mucho más de los libros (y practicando claro). No todos son tan malos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas