UNIDAD 5: JAVASCRIPT INTRODUCION A LAS BASES DE DATOS

TEMA 7: CONSULTA O DESPLIEGUE SELECT JAVASCRIPT

Existen una serie de operaciones y procesos que son muy comunes contra una tabla en una base de datos en disco la mas comun es desplegar todos los renglones de la tabla que estan almacenados en disco, a este proceso le llamaremos consulta o despliegue (muy original).

El procedimiento que se intentara seguir cuando se construya un programa asp que tenga que manipular una tabla en disco debera seguir los siguientes pasos:

1.- Crear una conección o enlace a la base de datos.

2.- Abrir la conección a la base de datos.

3.- Crear un RECORDSET

4.- Abrir o cargar el Recordset

5.- Procesar el Recordset ( aqui y en este momento es donde se manipulan los datos ya sea despliegue, eliminacion, edicion, etc)

6.- Cerrar y liberar el Recordset

7.- Cerrar y liberar la conección o enlace a la base de datos.

Codigo prog17.html

<HTML>
<P> CONSULTA MIBASE</P>
<FORM ACTION=http://programacionfacil.com:4080/tusitio/prog17.asp METHOD=POST>
<BR><INPUT TYPE=SUBMIT VALUE=desplegar>
</FORM></HTML>

corrida prog17.html

image219.jpg

programa17.asp

<% @LANGUAGE = JavaScript %>
<%
// creando y abriendo enlace o coneccion a base de datos
var coneccion=Server.CreateObject("ADODB.Connection");
coneccion.Provider="Microsoft.Jet.OLEDB.4.0";
coneccion.Open("c:\\progfacil\\lauro\\mibase.mdb");
// creando y cargando el recordset
var tabla=Server.CreateObject("ADODB.RecordSet");
tabla.Open("mitabla", coneccion);
// construyendo tabla html para desplegar recordset
Response.Write("<TABLE Border=1 CellPadding=5>");
Response.Write("<TR>");
// cargando cantidad de columnas del recordset usando
// propiedad Fields.Count de recordset
// el -1 es porque jscript empieza renglon y columna en 0
var col,cantcol;
cantcol=tabla.Fields.Count -1
// desplegando los encabezados de columna
// usando la propiedad Fields(col).Name
for(col=0;col <= cantcol ; col++)
{ Response.Write("<TH>" +tabla.Fields(col).Name + "</TH>" ); };
Response.Write("</TR>");
// ahora desplegamos todos los renglones de la tabla
// usando como ciclo de control la propiedad EOF de recordset
// el simbolo ! es la negacion en java script
// while se usa para moverse entre renglones
while(!tabla.EOF){
Response.Write("<TR>");
// for se usa para moverse entre columnas
// el dato sale usando la propiedad Fields(col).Value
for(col = 0; col <=cantcol; col++)
{Response.Write("<TD>" +tabla.Fields(col).Value+"</TD>");};
Response.Write("</TR>");
tabla.MoveNext;
};
Response.Write("</TABLE><br>");
// recordar cerrar y liberar la coneccion y el recordset
tabla.Close;
tabla = null;
coneccion.Close;
coneccion = null;
%>

notas:

1.- Se sigue el procedimiento generico para procesar tablas usando ADO's en ASP-javascript.

2.- Tomar nota como se hace una referencia a la base de datos, esto es open c:\\progfacil\\tusitio\\base.mdb ( ojo con las diagonales)

3.- Cuando se abre la tabla en disco (TABLA.OPEN) el parametro entre comillas debera ser el nombre de la tabla, seguida del objeto enlace o conección que le indica en donde se encuentra.

Recordar que este TABLA.OPEN tambien carga el RECORDSET.

4.- Como se va a desplegar los datos en una tabla.html, se empieza construyendo esta ultima(la tabla html).

5.- RECORDSET tiene varias caracteristicas:

5.1.- Primero hay un apuntador interno que esta circulando por todos los renglones del recordset

5.2.- El primer renglon del recordset (renglon 0), tiene cargado el nombre de los campos.

5.3.- Tambien la primera columna (FIELD) es la cero.

5.4.- Existen dos caracteres especiales y muy utiles para procesar el recordset ellos son BOF (before of file) y EOF (end of file).

5.5.- Recordar que existen muchas propiedaes y metodos de RecordSet( ver apendice a final de unidad) de las cuales se usan algunas como COUNT, MOVENEXT, etc.

6.- Cuando se creo el recordset el apuntador de renglones quedo apuntando al renglon cero en el recordset este renglon cero tiene almacenado los nombres de las columnas(clave, nombre, edad), en la propiedad fields.name

Para desplegarlos usamos un ciclo for, que para nuestro ejemplo debiera ser for col= 0 to 2 (recordar que la primera columna es la cero), pero es mejor usar la propiedad COUNT-1 de FIELDS, para que sea el jscript quien la calcule y ademas ustedes empiezen a practicar algunos metodos de estos objetos ADO.

7- Despues se esta usando un ciclo while( !tabla.eof) para procesar o pasearnos por todos los renglones de la tabla.

Para movernos de renglon a renglon usamos un tabla.movenext al final del while.

8.- Tambien dentro del while, estamos usando un ciclo for para ir procesando(desplegando) cada columna o field del renglon.

Otra vez, el while es para movernos de renglon a renglon y el for es para movernos de columna a columna.

9.- Al final cerramos la tabla y el enlace o conección y liberamos la memoria del recordset y el enlace cargandolas con null, esto es para hacer feliz al servidor de paginas y a su seguro servidor lauro.

Corrida prog17.asp:

image220.jpg

TAREAS PROGRAMACION JAVASCRIPT :

1.- construir y desplegar una primera base de datos que contenga la primera tabla que diseñarón en el tema de tablas.

2.- Construir una segunda base de datos que contenga cuando menos tres de las tablas ya diseñadas y desplegar cualquiera de ellas usando una sola forma html, donde el usuario selecciona cual quiere desplegar.

Politica de Privacidad