dominios y alojamiento web en hostalia

Selecciones en una tabla de base de datos con ASP

01 de enero de 2001
Valoración del artículo:
Forma sencilla de realizar selecciones dentro de una tabla. Ejemplos prácticos.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
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 Connection 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. Podemos ver más detalladamente este tipo de instrucciones SQL en nuestro manual de SQL.

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.

Para ver funcionar el script pincha aquí

Compartir en redes sociales

Comentarios
Fueron enviados 5 comentarios al artículo
5 comentarios revisados:
coneccion a sql
Por: javier
09/6/2009
Hola
Bueno, mi comentario tiene relacion con la coneccion a la base de datos, esta exelente, pero tengo una pregunta que hacerte, este codigo me sirve para conectarme a una base de datos SQL server 2000...

Mira te felicito por lo que haces, eres bueno, yo soy novato en asp y me gustaria aprender mucho mas. es posible que me ayudes con la coneccion que te mencione anteriormente, por favor...
estaria muy agradecido.
si es asi este es mi correo goondam@gmail.com
comentario tutorial
Por: nilson
25/8/2009
excelente tutorial para iniciar en el mundo de asp
Cuando refresco el contenido de la ventana da error.
28/4/2010
¿Por qué si le doy refrescar a la ventana donde estamos viendo el contendio por primera vez, marca error y ya no despliega lo mismo?
duda
Por: pedro contreras
30/9/2010
sabes yo tngo la duda de un trabajo ke es kasi el mismo que es hacer una pagina en asp q despliegue todos los datos de una tabla en my sql o access .. lo estoy programando en dreamweaver y si es necesario instalar un servidor cmo el apache y otras cosas .. esa es la duda
Error de conexion
17/11/2010
A mi me pasa exactamente lo mismo,
Cuando visualizas en el navegador los campos de la base de datos estos se ven perfectos, pero si refescas el navegador o navegas por los enlaces del ejemplo, cuando se pide una nueva conexión a la base de datos el script marca un error de conexión
¿A que se debe esto?¿fallo del script?
¿alguna solución pra corregir este error?

Gracias de antemano, un saludo

Manuales relacionados
Categorias relacionadas
El autor
Rubén Alvarez
Redactor de DesarrolloWeb.com
http://www.desarrolloweb.com
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...