El ASP nos ayuda a darle dinamismo a nuestros sitios con la construcción de páginas dinámicas. Una de sus cualidades más importantes, es su interacción con bases de datos.

En el siguiente taller leeremos los contenidos de una base de datos Access que contiene 3 campos: Nombre, Email y URL, con los que alimentaremos unas tablas para nuestras páginas.

Ejemplo aspLa base de datos que utilizamos será ejemplo.mdb (botón derecho y salvar como para descargar).

Y para facilitar el entendimiento del ejemplo, se comentará directamente en el código ASP para una mejor explicación. Recuerden que para comentar el código en ASP, se utiliza una comilla simple (‘).

	<HTML>
    <HEAD><TITLE>Leyendo una base de datos de Access con ASP</TITLE></HEAD>
    <BODY> 
      
<TABLE BORDER="1"> 
<TD><B>Nombre<B></TD>
<TD><B>Email<B></TD>
<TD><B>Url<B></TD> 

<%
Dim conexion, registros, basedatos
' El primer paso consiste en declarar algunas variables que nos serán de utilidad.

' De estas tres variables, utilizaremos la primera para nuestra conexión a la base de datos, la segunda para seleccionar los registros y la tercera  para ingresar la dirección donde se encuentra nuestra base de datos.

basedatos = Server.MapPath("ejemplo.mdb")

' En la asignación anterior, la instrucción Server.Mappath nos da el Path completo en el servidor hacia el archivo ejemplo.mdb que se encuentra en el mismo directorio que el ejemplo.

' También se puede utilizar el path completo para definir esta variable que quedaría algo así:

' basedatos = "c:\Inetpub\wwwroot\ejemplo.mdb"

Set conexion = Server.CreateObject("ADODB.Connection")

' Declaramos nuestra conexión a bases de datos.

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & basedatos & ";"

' Abrimos la conexión a través del OLE Driver., indicandole la dirección de la base de datos por medio de la variable que declaramos algunas líneas antes.

' Así como utilizamos el OLE Driver, también pudimos utilizar una conexión por medio del ODBC y un DNS declarado en el sistema, aunque este Driver es el más rápido y recomendado para utilizar.

Set registros = conexion.Execute("SELECT * FROM Ejemplo ORDER BY Ejemplo.Nombre")

' A continuación, declaramos en registro los datos que estaremos seleccionando en la base de datos.

' Por medio de lenguaje SQL Seleccionamos todos los campos de la tabla Ejemplo, ordenándolos por el campo Nombre.

Do While Not registros.EOF

' Para empezar a mostrar los registros, utilizamos un CICLO que se repetirá mientras no lleguemos al final de los registros encontrados.

' Luego de esto, iremos tomando los valores de la base de datos e imprimiéndolos dentro del HTML.

%>

<TR>
<TD><%= registros.Fields("Nombre").Value %></TD>
<TD><A HREF="mailto:<%= registros.Fields("Email").Value %>"><%=registros.Fields("Email").Value %></A></TD>
<TD><A HREF="<%= registros.Fields("URL").Value %>"><%= registros.Fields("URL").Value %></A></TD> 
</TR>

<%
registros.MoveNext

Loop

' Cada vez que se ejecuta el ciclo, le pedimos por medio de .MoveNext que pase al siguiente registro encontrado

' La instrucción Loop es la que indica hasta donde debe de repetirse el ciclo.

registros.Close

Set registros = Nothing

conexion.Close

Set conexion = Nothing

' Algo muy importante que debemos recordar es cerrar nuestras conexiones, para no dejar la base de datos abierta.

' Para esto, primero la cerramos por medio de .Close y a continuación es recomendable declararles valores de "nada", para dejar las variables limpias. 

%> 

</TABLE> 
      </BODY>
      </HTML> 

Como apreciamos, el comunicarse con una base de datos no es tan complicado y nos permite crear páginas con contenidos que pueden estar actualizándose fácilmente por medio de actualizaciones a la base de datos y no a nuestros archivos HTML.