Acceso a bases de datos desde páginas web Educastur pone a disposición de los usuarios que hospedan sus páginas web en el portal educativo la posibilidad de incorporar en sus desarrollos el acceso a bases de datos. El acceso se realizará a través de los interfaces ADO (ActiveX Data Objects) manipulados mediante un lenguaje de scripting como VBScript, JScript, JavaScrip, PHP, etc . Las bases de datos soportadas son las de tipo de Microsoft Access (*.mdb) y deberán estar ubicadas dentro del directorio de cada usuario. Una práctica recomendable es situar todas las bases con las que operamos en un mismo directorio, de forma que cuando necesitemos referir la ubicación de las mismas, la conozcamos sin ningún tipo de duda. Este directorio puede llamarse BD y colgar directamente de la carpeta raíz de nuestro espacio de almacenamiento. Cuando usamos ADO para acceder a una base de datos se realiza una secuencia de operaciones: Crear una conexión ADO a la base de datos. Abrir la conexión. Crear un ADO recordset Abrir el recordset Realizar las operaciones oportunas con los datos contenidos en el recordset Cerrar el recordset Cerrar la conexión. Las acciones que aparecen en la lista anterior son implementadas mediante un determinado lenguaje de scripting que permita operar con los interfaces que ADO tiene disponibles. Acceso a una base de datos Access usando ADO Y VBSCRIPT Crear y Abrir una conexión ADO a la Base de Datos. (Pasos 1 y 2) En Educastur la conexión a la base de datos se realiza a través de una DSN-less Conection. Esto significa que el usuario no se conecta a "orígenes de datos" previamente configurados (Altas en DSN), sino que el origen sólo existe durante el tiempo de vida de la conexión. <% set Conexion=Server.CreateObject("ADODB.Connection") 'Crear el objeto conexión Conexion.Provider="Microsoft.Jet.OLEDB.4.0" 'Definir el tipo de proveedor. En este caso una BD ACCESS Conexion.Open Server.MapPath("bd\centro.mdb") 'Abrir la conexión ... Crear y Abrir un ADO recordset (Pasos 3, 4) Una vez creada y abierta la conexión necesitamos crear un recordset. El recordset será el objeto donde "residirán" los datos, provenientes de la base de datos, sobre los que vamos a operar. El objeto recordset ofrece un conjunto de métodos y propiedades que facilitan el acceso a los datos y la realización de distintas operaciones. set RS= Server.CreateObject("ADODB.recordset") 'Crear un objeto Recordset RS.Open "Select * From alumnos ", Conexion 'Abre un objeto Recordset y ejecuta una sentencia SQL. Realizar las operaciones oportunas con los datos contenidos en el recordset (Paso 5) En este paso ,dependiendo del objetivo para el que hemos diseñado el programa, realizaremos las operaciones oportunas con los datos contenidos en el recordset. En nuestro ejemplo simplemente mostraremos para cada fila que hay en el recordset todos los valores de sus columnas. do until RS.EOF 'Mientras no se alcance el final del Recordset for each campo in RS.Fields 'Para cada elemento de la colección RS.Fields Response.Write(campo.name) 'Escribir campo Response.Write(" = ") Response.Write(campo.value & "
") 'Escribir Valor next Response.Write("
") RS.MoveNext 'Pasar a la siguiente fila loop Cerrar el recorset y la conexión. (Pasos 6 y 7) Finalizadas las operaciones a realizar sobre los datos, debemos cerrar los objetos conexión y recordset para liberar los recursos ocupados por ellos. RS.close Conexion.close %> El siguiente código es un ejemplo de como podríamos mostrar el contenido de una base de datos a través de una tabla HTML.
Site hosted by Angelfire.com: Build your free website today!
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.Open "SELECT Empresa, Responsable FROM Clientes", conn %> <%do until rs.EOF%> <%for each x in rs.Fields%> <%next rs.MoveNext%> <%loop rs.close conn.close %>
<%Response.Write(x.value)%>
Este breve texto no puede ni pretende ser un manual de programación de páginas dinámicas. En Internet se puede encontrar una abundante documentación en forma de tutoriales y ejemplos sobre ADO,ASP, y los distintos lenguajes de scripting. A modo de referencia os proponemos una lista de enlaces que hemos seleccionado por su calidad. Muchas de ellas están en ingles pero creemos que el esfuerzo de traducción puede merecer la pena. Si encontráis nuevos sitios de interés os agradeceríamos que nos las enviaseis para poder hacerlas públicas en esta misma página.