Tutoriales Varios

15. Selecciones en una tabla

15. Selecciones en una tabla

Dentro de una base de datos, organizada por tablas, la selección de una tabla entera o de un cierto numero de registros resulta una operación rutinaria.

A partir de esta selección se puede posteriormente efectuar toda una serie de cambios o bien realizar una simple lectura.

El siguiente script nos permite realizar la lectura de la tabla clientes contenida en nuestra base de datos. A primera vista todo nos puede parecer un poco complejo, pero nada más lejos de la realidad. 

<HTML>

<HEAD>

<TITLE>Lectura de registros de una tabla</TITLE>

</HEAD>

<BODY>

<h1><div align="center">Lectura de la tabla</div></h1>

<br>

<br>

<%

‘Antes de nada hay que instanciar el objeto Connection

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

‘Una vez instanciado Connection lo podemos abrir y le asignamos la base de
datos donde vamos a efectuar las operaciones

Conn.Open "Mibase"

‘Ahora creamos la sentencia SQL que nos servira para hablar a la BD

sSQL="Select * From Clientes Order By nombre"

‘Ejecutamos la orden

set RS = Conn.Execute(sSQL)

‘Mostramos los registros%>

<table align="center">

<tr>

<th>Nombre</th>

<th>Teléfono</th>

</tr>

<%

Do While Not RS.Eof

%>

<tr>

<td><%=RS("nombre")%></td>

<td><%=RS("telefono")%></td>

</tr>

<%

RS.MoveNext

Loop

‘Cerramos el sistema de conexion

Conn.Close

%>

</table>

<div align="center">

<a href="insertar.html">Añadir un nuevo registro</a><br>

<a href="actualizar1.asp">Actualizar un registro existente</a><br>

<a href="borrar1.asp">Borrar un registro</a><br>

</div>

</BODY>

</HTML>

Antes de nada, si lo que deseamos es interrogar una base de datos, lo primero que hay que hacer es obviamente establecer la conexión con ella. Esto se hace a partir del objeto Connection el cual es "invocado" o más técnicamente dicho instanciado por medio de la primera instrucción en la cual el objeto toma el nombre arbitrario de la variable Conn .

El paso siguiente es abrir el objeto y asignarle la base de datos con la que debe contactar. En este caso, la base la hemos llamado Mibase. Este debe de ser el mismo nombre con el que la hemos bautizado cuando hemos configurado los conectores ODCB, además, este nombre no tiene por qué coincidir necesariamente con el nombre del archivo.

Una vez creada la conexión a nuestra base de datos, el paso siguiente es hacer nuestra petición. Esta petición puede ser formulada primeramente y almacenada en una variable (sSQL) para, a continuación, ser ejecutada por medio de la instrucción siguiente.

La petición que hemos realizado en este caso es la de seleccionar todos los campos que hay en la tabla clientes (* es un comodín) y ordenar los resultados por orden alfabético con respecto al campo nombre.

El resultado de nuestra selección es almacenado en la variable RS en forma de tabla. Para ver la tabla lo que hay que hacer ahora es "pasearse" por esta tabla "virtual" RS la cual posee una especie de cursor que, a menos que se especifique otra cosa, apunta al primer registro de la selección. El objetivo ahora es hacer desplazarse al cursor a lo largo de la tabla para poder leerla en su totalidad.

La forma de hacerlo es a partir de un bucle Do While el cual ya ha sido explicado anteriormente y que lo único que hace es ejecutar las instrucciones comprendidas entre el Do y el Loop siempre que la condición propuesta (Not RS.Eof) sea verdadera. Esto se traduce como "Ejecutar este conjunto de instrucciones mientras que la tabla de resultados (RS) no llegue al final (Eof, End of File).

Las instrucciones incluidas en el bucle son, por un lado, la impresión en el documento de los valores de determinados campos ( =RS("nombre del campo")) y por otro, saltar de un registro al otro mediante la instrucción RS.MoveNext.

Todo este conjunto de instrucciones ASP viene en combinación con un código HTML que permite su visualización en forma de tabla. Además, se han incluido unos enlaces que apuntan hacia otra serie de scripts que veremos más adelante y que formaran en conjunto una aplicación.

Es interesante ver el código fuente resultante de este script. En este caso el código que ve el cliente resulta sensiblemente más sencillo.

 

Indaya.com – http://www.gnu.org/copyleft/fdl.es.html