Home - ASP - Curso práctico - Capítulo 6 - 1 - 2 - 3
Curso práctico de ASP (VI)
por Luciano Moreno, del departamento de diseño web de BJS Software.
Ejercicio resuelto.-
Como ejemplo práctico de todo esto, vamos a ver cómo podemos crear una base de datos Access de clientes ficticios y los elementos necesarios para acceder a ella y mostrar su contenido en una página ASP.
Creación de la base de datos.
Vamos a crear la base de datos, y para ello vamos a Inicio > Programas > Microsoft Access. Nos aparecerá el asistente inicial, en el que seleccionamos "Base de datos de Access en blanco". No pedirá entonces que le demos un nombre a nuestra base de datos, que vamos a llamar "Clientes", y la carpeta donde guardarla, que debe pertenecer al servidor web (Inetpub\wwwroot). Yo he elegido la ruta webmaster/carpeta asp_6/.
A continuación nos aparece otra ventana que nos pregunta cómo queremos crear la primera tabla en la base de datos, y vamos a seleccionar "Crear una tabla en vista Diseño". Le damos a Aceptar y nos encontraremos con una tabla con 3 campos:
· Nombre: nombre del campo.
· Tipo de datos: si los datos del
campo van a ser numéricos, de texto, de moneda, etc.
· Descripción:
texto explicativo interno sobre el contenido del campo
Vamos a crear en esta ventana los siguientes campos:
1. Nombre > Texto >Nombre del cliente
2. Apellido >
Texto >Apellido del cliente
3. NIF > Texto > NIF del
cliente
4. Edad > Numérico > Edad del cliente
5. Registro
> Fecha/Hora > Fecha de registro del cliente
6. Ingresos >
Moneda > Ingresos anuales del cliente
7. Ciudad >
Texto > Ciudad de residencia
Una visión del resultado que debéis obtener está reflejada en la siguiente imagen:

El paso siguiente es pulsar sobre el icono de la derecha del menú superior, "Vista hoja de datos", con lo que nos pedirá un nombre para la tabla, que va a ser "Clientes", y ya podemos empezar a introducir datos en nuestra tabla. Más o menos como os aparece en la Imagen 2 antes mencionada. Una vez completada la tabla, la guardamos y cerramos Access.
Creación del DSN del sistema.-
Vamos ahora al menú Inicio > Panel de control > Orígenes de datos/ODBC de 32 bits, seleccionando la pestaña DSN de sistema, en la que pulsamos sobre "Agregar".
En la nueva ventana seleccionamos Driver do Microsoft Access, y pulsamos "Finalizar", apareciéndonos luego la ventana final, en la que deberemos especificar un nombre para el origen de datos (Clientes), una descripción (la que queramos), y la ruta de la base de datos. Pulsamos "Aceptar" y ya tenemos definida el DSN. El aspecto de la ventana final es el siguiente:

Creación de la página ASP.-
El código de nuestra página, que vamos a llamar listado_1.asp, y en la que vamos a usar la conexión mediante el DSN antes creado, es el siguiente:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 Transitional//EN">
<%@
Language="VBScript"%>
<html>
<head>
<title>WebMster & HTMLWeb. Curso Práctico de ASP. Resuelto
6</title>
</head>
<body>
<table cellspacing="0"
cellpadding="2" border="1" align="center">
<tr
bgcolor="#ccccff">
<td
class="titulo"><b>Nombre</b></td>
<td class="titulo"
align="center"><b>Apellido</b></td>
<td class="titulo"
align="center"><b>NIF</b></td>
<td
class="titulo"
align="center"><b>Edad</b></td>
<td class="titulo"
align="center"><b>Registro</b></td>
<td class="titulo"
align="center"><b>Ingresos</b></td>
<td class="titulo"
align="center"><b>Ciudad</b></td>
</tr>
<%
'Declaramos dos variables, una para Connection y
otra para Recorset
Dim miconexion, mirecordset, micomando
'Instanciamos un objeto Connection
Set miconexion =
Server.CreateObject("adodb.connection")
'Asignamos a la conexión la
base de datos mediante el DSN del Sistema creado, de nombre "Clientes"
miconexion.ConnectionString = "DSN=Clientes"
'Abrimos la base de datos
"Clientes"
miconexion.Open
'Instanciamos un ojeto
Command
Set micomando = Server.CreateObject("adodb.command")
'Asignamos la conexión creada al objeto Command
micomando.ActiveConnection = miconexion
'Establecemos el texto de la
sentencia SQL de consulta a la BD
micomando.CommandText = "Select *
From Clientes"
'Asignamos el resultado de ejecutar el objeto Command
al Recordset
Set mirecordset =micomando.Execute
' Hacemos un
bucle, recorriendo todos los registros del
Recordset
While Not mirecordset.EOF
%>
<tr
bgcolor="#ffffcc">
<td
class="titulo"><%=mirecordset.Fields("Nombre")%></td>
<td
class="titulo"><%=mirecordset.Fields("Apellido")%></td>
<td
class="titulo"><%=mirecordset.Fields("NIF")%></td>
<td class=
"titulo"align="center"><%=mirecordset.Fields("Edad")%></td>
<td
class="titulo"><%=mirecordset.Fields("Registro")%></td>
<td class=
"titulo"align="right"><%=mirecordset.Fields("Ingresos")%></td>
<td
class="titulo"><%=mirecordset.Fields("Ciudad")%></td>
</tr>
<%
'Movemos el puntero al
siguiente registro del Recordset
mirecordset.MoveNext
'Finalizamos el
bucle
Wend
'Cerramos el Recordset y
lo destruimos
mirecordset.Close
Set
mirecordset = Nothing
'Cerramos la conexión y la
destruimos
miconexion.Close
Set miconexion = Nothing
%>
</table>
</body>
</html>
Guardamos esta página en nuestro servidor web local, abrimos un navegador web y tecleamos en la barra de direcciones (cada uno la ruta en la que se encuentre la página en la estructura de carpetas del servidor):
http://127.0.0.1/webmaster/asp_6/listado_1.asp
Y deberemos obtener un resultado como el de esta ventana.
Observar cómo en el código hemos usado la estructura de bucle While...Wend, con la condición Not Tabla.EOF, que podríamos traducir como "Mientras que el Recordset Tabla no acabe...Continúa".
No os preocupéis si por ahora no entendéis bien el código. En el próximo capítulo explicaremos el lenguaje de consultas SQL y veremos más ejemplos.
Home - ASP - Curso práctico - Capítulo 6 - 1 - 2 - 3