Acceso a bases de datos desde páginas web Educastur



Descargar 12.12 Kb.
Fecha de conversión29.01.2017
Tamaño12.12 Kb.
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:



  1. Crear una conexión ADO a la base de datos.

  2. Abrir la conexión.

  3. Crear un ADO recordset

  4. Abrir el recordset

  5. Realizar las operaciones oportunas con los datos contenidos en el recordset

  6. Cerrar el recordset

  7. 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.




<%
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)%>


La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal