1 ASP Active Server PagesOscar Cubo Medina Santiago González Tortosa Victor Robles Forcada Programación Web en Servidor INEM – 2007
2 Contenidos Introducción Modelo de Objetos Lenguaje ASPEstáticas VS Dinámicas Arquitectura de Aplicaciones CGI Lenguaje ASP Funcionamiento Requisitos Ventajas e Inconvenientes Configuración Programación con VBScript Constantes y Variables Operadores Estructuras de Control Bucles Funciones y Procedimientos Modelo de Objetos Application, Session, Request, Response, … Acceso a Ficheros Objeto FileSystemObject Operaciones sobre Ficheros Acceso a Bases de Datos Introducción a BBDD Objetos para Acceso a BBDD Referencias
3 Introducción ASP
4 Introducción Paginas Estáticas VS Páginas DinámicasArquitectura de Aplicaciones Modelo 3 capas Cliente VS Servidor Scripts y CGI
5 GET “www.fi.upm.es/logo.gif”Páginas estáticas Servidor Web de GET “www.fi.upm.es” Index.html …
GET “www.fi.upm.es/logo.gif” Logo.gif
6 Páginas dinámicas + BD Servidor Web de www.fi.upm.es Lógica de negocio GET “…&Submit=Go” BD Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Dfg + Plantillas Lógica de negocio Respuesta dinámica
7 Arquitectura de AplicacionesLógica de negocio Interfaz de usuario Datos Servicios de usuario Servicios de trabajo Servicios de datos
8 Modelo de 3 capas Navegador Presentación Servidor WebLógica de negocio Acceso a datos
9 Aplicaciones Web Cliente Browser HTTP DBMS Lógica de negocio DBMSServidor Web Lógica de negocio DBMS Servicios Soportados Cliente No Browser Máquina Servidora Protocolo de objetos Aplicaciones existentes
10 El mundo del Cliente HTML / DHTML / CSSLenguajes de script: JavaScript / VBScript Applet Java / Active X
11 El mundo del Servidor HTML / DHTML / XML ASP / JSP / PHP CGIVBScript / JavaScript Servlets / Scriptlets COM / DCOM / COM+ / EJB ODBC / JDBC / OLE DB / ADO
12 Lenguajes de script en cliente: JavaScript y VBScriptVBScript sólo para Internet Explorer JavaScript ampliamente utilizado Cada navegador tiene sus propias extensiones Muy usados para realización de cálculos y validación de formularios
13 CGI Common Gateway InterfaceSe pueden desarrollar con cualquier lenguaje Por aspectos de seguridad se almacenan en directorios específicos del servidor
14 CGI Ventajas Inconvenientes Cualquier lenguaje de programaciónAltamente extendidos Todas las plataformas Inconvenientes Ojo con el uso de ejecutables en servidor Van lentos en IIS
15 Lenguaje ASP ASP
16 ASP ¿Qué es? Funcionamiento Requisitos Ventajas e InconvenientesConfiguración del Sistema
17 ASP ¿Qué es? Generación de páginas dinámicas Servidor WindowsActive Server Pages – Paginas Activas en Servidor Es un lenguaje de programación Generación de páginas dinámicas Servidor Windows Anexo a IIS (Internet Information Server)
18 Funcionamiento IIS Browser 1) Petición de URL a través de HTTP Un ejemplo de ASP
<% response.write "
" response.write "Hola!" response.write "
” %> 2) El servidor Web lee HTML y ejecuta script 4) El Browser muestra el HTML 3) HTML resultante es enviado al browser a través de HTTP Un ejemplo de ASP
Hola! ejemplo.asp
19 Ejemplo de ASP <% For i=3 to 7 %>Hola Mundo
<% Next %> Hola Mundo
Hola Mundo
Hola Mundo
Hola Mundo
Hola Mundo
Ejecución del código
20 Requisitos para ejecutar ASPServidor Web: IIS (Internet Information Server) PWS (Personal Web Server) Drivers ODBC de acceso a Bases de Datos Editor de Texto
21 ¿Por qué páginas ASP? Ventajas InconvenientesIndependientes del navegador Fácil de crear y usar Diferentes lenguajes de script válidos No más gastos en Software Inconvenientes Muy ligado a Microsoft Mala depuración Muchísimos WebSites están hechos con ASP
22 Configuración del sistema¿Dónde se ponen las páginas ASP? Directorio c:\inetpub\wwwroot Configuración del directorio El usuario es IUSR_nombremaqina Necesita acceso de Lectura/Ejecución En caso de Base de Datos, también necesita acceso de Escritura Ejercicio 1: poner nuestro entorno en producción.
23 Programación con VBScript ASP
24 Programación con VBScriptVariables Constantes Comentarios Operadores Estructuras de Control Bucles Funciones y Procedimientos
25 Variables En general: Imprimir valor de variableNo hay que declararlas. Suele ser útil declararlas. Option Explicit (obliga a declararlas) <% Dim x %> Sólo hay un tipo, el variant x = 36 x = “Mi texto” Imprimir valor de variable <% Response.Write (nombre_variable) %> <% =nombre_variable %>
26 Contantes, Operadores, …Constantes Se declaran con Const No cambian Const pi = Comentarios ‘Esto es un comentario Operadores +, -, *, / \ división entera, ^ exponenciación Concatenar strings & Lógicos: NOT, AND, OR y XOR Comparación: =, <>, <, >, <= y >=
27 Constantes, Operadores…Ejemplo 2: Calcular el precio real de dos ordenadores, que cuestan: 1123 euros 1326 euros Ambos sin iva. El programa debe devolver un mensaje personalizado. Santi, el precio total del ordenador 1 es: XXX euros Santi, el precio total del ordenador 2 es: YYY euros
28 Estructuras de controlIf .. Then ... ElseIf <% x = 23 If x < 0 Then %> Número Negativo ElseIf x>0 Then Número Positivo Else Es cero End If If condición Then sentencias Elseif condición2 Then sentencias2 Else sentencias3 End If
29 Estructuras de ControlEjemplo 3: Ejecutar un programa que escriba una frase distinta cuando se cumpla una determinada condición, según el siguiente valor: Valor “1” Valor “2” Otro valor (3, 4, 0 …)
30 Bucles Do while/until Do...loop while/until For…Next For Each…NextExit Do Exit For
31 Bucles Do While... Loop <% x = 10 Do While x > 0 %><% =X %>
x = x - 1 Loop Do While condición sentencias Loop
32 Bucles For ... Next <% For x = 1 To 5 %>For variable = inicio To fin sentencias Next <% For x = 1 To 5 %> <% =X %>
<% Next %>
33 Do while/until Do While Ejemplo Do Until Ejemplo do while condiciónsentencias loop Ejemplo do while a <= 10 a = a + 1 Do Until do until condición sentencias loop Ejemplo do until a > 10 a = a + 1
34 Do…loop while/until Do…loop While Ejemplo Do…loop Until Ejemplo dosentencias loop while condición Ejemplo a = a + 1 loop while a <= 10 Do…loop Until do sentencias loop until condición Ejemplo a = a + 1 loop until a > 10
35 For (each)…Next For…Next Ejemplo For each…Next EjemploFor variable = inicio to fin sentencias Next Ejemplo For i = 1 to 10 a = a + 1 For each…Next For each variable in seq sentencias Next Ejemplo For each persona in cola contador = contador + 1
36 While For each…Next Ejemplo While condición sentencias Wend Dim valueWhile value < 10 value = value + 1
37 Bucles Ejercicio 4: Realizar la tabla de multiplicar del 1 hasta el 10, con valores del 1 al 10. 1 2 3 4 6 9
38 Mismo nombre que funciónFunciones Devuelve un valor Function nombre (parametros) setencias nombre = … End Function Function gradosCelsius(gradosCent) gradosCelsius = (gradosCent - 32) * 5 / 9 End Function cent = 35 celsius = gradosCelsius(cent) Mismo nombre que función
39 Procedimientos No devuelven valor Sub nombre (parametros) sentenciasEnd Sub <% Sub trata_Cadena (miCadena) %> La cadena inicial: <% =miCadena %>
En mayúsculas: <% =UCase(miCadena) %>
Número caracteres: <% =Len(miCadena) %>
<% End Sub %>
40 Procedimientos Llamar a Sub Call trata_Cadena("Cuántas letras tengo?")
41 Funciones y ProcedimientosEjemplo 5a: Realizar la suma de los 100 primeros números (número triangular) utilizando funciones. Ejemplo 5b: Lo mismo que el ejercicio anterior pero utilizando procedimientos.
42 Funciones Integradas en ASPCogen argumentos y devuelven un valor Manipulan strings, fechas y horas y matemáticas miPalabra = "Patata" x = Len(miPalabra)
44 Modelo de Objetos ASP
45 Modelo de Objetos Estructura de Modelo de Objetos Objeto RequestColección QueryString y Form Colección Cookies Colección ServerVariables Objeto Response Objeto Server Otros Objetos
46 Modelo de objetos de ASPServer Objeto Request Cliente Servidor Objeto Response Objeto Application Objeto Session Objeto ObjectContext
47 Modelo de objetos de ASPAplicación ASP (Objeto Application) Session Session Session Cliente Cliente Cliente
48 Modelo de objetos de ASPObjeto Request: captura la información que va del cliente al servidor. Objeto Response manda información del servidor al cliente. tiene métodos y propiedades para modificar y crear lo que se envía al cliente. También para redirigir a otra página. ObjectContext: se utiliza para finalizar o abortar una transacción realizada por el MTS (Microsoft Transaction Server) y que ha sido ejecutada por otro Script ASP.
49 Modelo de objetos de ASPObjeto Application: Sirve para almacenar información que será compartida entre todos los clientes Application(“nombre”) = valor Si algún cliente quiere modificar alguna variable debe realizar un lock y un unlock. <% Application.Lock Application("numero") = 15 Application.Unlock %>
50 Modelo de objetos de ASPObjeto Session: Almacena información válida para todas las páginas mientras dure la sesión del usuario. Cuando el usuario accede por primera vez se genera un identificador único.
51 Modelo de objetos de ASPEjemplo 6: Mantenimiento del estado de una Sesión Objetivo: Familiarización con el mantenimiento del estado de una sesión de usuario. Tenemos que realizar dos páginas Web. La primera de ellas contendrá un formulario en el que se pedirá al cliente su nombre y apellidos. La segunda página recogerá el valor de los campos del formulario y los almacenará como variables de Sesión. A continuación volverá a leer esas variables para sacar su valor por pantalla.
52 Objeto Request Colecciones QueryString Form ServerVariables CookiesClientCertificate Propiedades TotalBytes Métodos BinaryRead
53 Colección QueryString y FormCliente (Navegador) Formulario Servidor (Aplicación ASP) METHOD = GET METHOD = POST Datos enviados en URL Datos enviados en cabecera HTTP Los datos se leen con colección QueryString Los datos se leen con colección Form
54 Colección QueryString y Form Por favor, introduce tus datos
Nombre Correo-e Dirección
55 Colección QueryString y Form<% For each Objeto in Request.QueryString %> Nombre del Objeto ‘<% Response.Write(Objeto) %>’ tiene Valor ‘<% = Request.QueryString(Objeto) %>’
<% Next %> <% Dim nombre nombre = Request.QueryString("sNombre") %> Nombre: <% =nombre %> Si se utiliza POST es todo lo mismo pero utilizando Request.Form
56 Colección QueryString y FormEjercicio 7a: Formulario de creación de usuarios. Campos: Nombre Usuario Password y Repetir Password Método POST Comprobacion de Passwords iguales y mayores a 7 letras o digitos. Aviso de creación correcta o incorrecta Ejercicio 7b: Formulario de creación de usuarios. Método GET (ERROR MUY GORDO!)
57 Colección QueryString y FormMás ejercicios: Calculo de edad: Realizar un formulario que recoja la fecha de nacimiento de una persona en formato mm/dd/aa y que la envie a otra página que calcule la edad de la persona. Las funciones que se deben utilizar son datediff que devuelve la diferencia en días de dos fechas dadas e Int que realiza una división entera.
58 La colección Cookies Satisface la necesidad de almacenamiento de información permanente. Es un paquete de información que es enviado del cliente al servidor en cada respuesta. Con Request leemos, con Response escribimos. <% Response.cookies("ultimoDiaConexion") = Date %> <% For each var in Request.Cookies %> Cookie: '<% response.write(var) %>' Valor: '<% =Request.Cookies(var) %>'
<% Next %>
59 La colección Cookies Ejercicio 8: Familiarizarnos con el uso de las cookies en la máquina del cliente. Hay que realizar dos páginas ASP. La primera sacará en una tabla todas las cookies de la máquina cliente, dando la opción de borrarlas. Además, tendrá un formulario que permitirá añadir cookies a través de dos campos, el campo nombre y el campo valor. La segunda página se encargará del borrado y de la inserción de las cookies.
60 Colección ServerVariablesValor = Request.ServerVariables(“HeaderType”) HeaderType: REMOTE_ADDR: Dirección IP de máquina remota LOGON_USER: Usuario ALL_HTTP: Toda la cadena HTTP HTTP_USER_AGENT: Cliente utilizado HTTP_COOKIE: Cookies en la máquina remota HTTP_REFERER: Página de la que procedo HTTP_ACCEPT: Tipo de ficheros admitidos
61 El objeto Response Permite escribir información y cookies en clientePara realizar redirecciones: Response.Redirect(“nombre”) Permite realizar buffering: Response.Buffer Response.Clear Response.Flush Controlar cuando expira una página: Response.Expires(min)
62 El objeto Server Tiene 4 métodos:CreateObject: Crea una instancia de un objeto en el servidor HTMLencode: Aplica codificaciónm HTML a una cadena Mappath: Convierte un path virtual en un path físico URLencode: Aplica codificación URL a una cadena
63 http://www.fi.upm.es/hola que tal:ñáEl objeto Server Ejercicio 9: Escribir el texto texto negrita texto italica UPM Usando la funcion HTMLencode Sin usarla Escribir la direccion web que tal:ñá Usando la función URLencode
64 Otros Objetos Objeto Scripting.Dictionary contiene pares de elementos (clave, valor). Por ejemplo carrito de compras. Objeto Scripting.FileSystemObject proporciona acceso al sistema de ficheros del ordenador.
65 Acceso a Ficheros ASP
66 Uso de Sistemas de Fichero y E/Sset fs = Server.CreateObject(“Scripting.FileSystemObject”) Acceso a todas las unidades de discos DEL SERVIDOR!! (Ejemplo 10) set discos = fs.Drives for each d in discos … next Propiedades de una unidad if (NOT fs.DriveExists(“H”)) then Wscript.Quit else set drive = fs.GetDrive(“H”) if (drive.IsReady) then drive.DriveLetter drive.DriveType ‘ (Desconocido, Borrable, Duro, Remoto, CD, RAM) drive.VolumeName (ShareName) drive.TotalSize drive.FreeSpace end if
67 Uso de Sistemas de Fichero y E/SAcceso a carpetas set carpeta = fs.GetFolder (path) set carpetas = carpeta.SubFolders for each c in carpetas … c.Name Next Acción Sentencia Crear nueva carpeta Set nc = fs.CreateFolder(path) Renombrar c.Rename(nombre) Copiar carpeta fs.CopyFolder path1 path2 Mover carpeta fs.MoveFolder path1 path2 Borrar carpeta fs.DeleteFolder(path) Existencia Carpeta fs.FolderExists(path)
68 Uso de Sistemas de Fichero y E/SAcceso a ficheros set ficheros = carpeta.Files for each f in ficheros … f.Name f.Size f.DateCreated f.DateLastModified Next Ejemplo 11: Mostrar el contenido de la carpeta System32 Existencia de fichero fs.FileExists(fichero) Copiar ficheros fs.CopyFile path1 path2 Borrar ficheros fs.DeleteFile(fichero)
69 Uso de Sistemas de Fichero y E/SEjemplo 12: Sistema Backup Realizar un sistema backup que copie todo el contenido de una carpeta dentro de otra carpeta. Se aconseja utilizar como destino, la carpeta Backup, y dentro de el, una carpeta de copia, según la fecha de hoy: path2 & Day(Date) & "-" & Month(Date) & "-" & Year(Date)
70 Uso de Sistemas de Fichero y E/SAcceso a un fichero de texto OpenTextFile (nombre [, modo[, crear[, formato]]] ) Modo: (1) ForReading, (2) ForWriting, (3) ForAppending Crear: True si se va a crear nuevo. False en caso contrario Formato: TristateTrue si es Unicode, TristateFalse si es ASCII Lectura de fichero de texto set entrada = fs.OpenTextFile(“fichero.txt”) Do While Not (entrada.atEndOfStream) Texto = Texto & entrada.ReadLine & “
” Loop Escritura (con/sin reemplazo) en fichero set salida = fs.OpenTextFile(“fichero2.txt”, 2, True) texto = entrada.ReadLine salida.WriteLine texto
71 Uso de Sistemas de Fichero y E/SEjemplo 13: Copiar el contenido de un fichero en otro
72 Acceso a Bases de Datos ASP
73 Acceso a Bases de Datos Introducción a BBDD Microsoft AccessAcceso a BBDD con ASP
74 Introducción a BBDD Base de datos Gestor de base de datosConjunto de datos interrelacionados Almacenados sistemáticamente Gestor de base de datos Programa informático Almacena los datos de forma eficiente Permite acceder rápidamente a los datos SQL – Structured Query Language Lenguaje estándar de interrogación Es un estándar ANSI/ISO Pronunciado ‘esquiuel’
75 Ejemplo de BBDD Matrícula Apellidos Nombre Email Nota 920239García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8
76 SQL: Sentencia USE Seleccionar la BBDD a la que se desea accederLos lenguajes de programación proporcionan una función
77 SQL: Sentencia SELECT Consulta una BBDDSELECT DISTINCT [*|cols] [FROM table-list] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [ORDER BY sort-expr-list]
78 SELECT apellidos, email FROM estudiantesMatrícula Apellidos Nombre Nota 920239 García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8
79 SELECT apellidos, email FROM estudiantesMatrícula Apellidos Nombre Nota 920239 García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8
80 SELECT apellidos FROM estudiantes WHERE nota>=5Matrícula Apellidos Nombre Nota 920239 García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8
81 SELECT apellidos FROM estudiantes WHERE nota>=5Matrícula Apellidos Nombre Nota 920239 García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8
82 Operador LIKE Busca una subcadenaEl símbolo % encaja con cualquier cosa Ejemplos LIKE ‘ma%’ = Empieza por ‘ma’ LIKE ‘%id’ = Acaba por ‘id’ LIKE ‘Ma%id’ = Empieza por ‘ma y acaba por ‘id’ LIKE ‘%dr%’ = Contiene la cadena ‘dr’
83 SELECT * FROM estudiantes WHERE email LIKE ‘%ma%’Matrícula Apellidos Nombre Nota 920239 García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8
84 SELECT * FROM estudiantes WHERE email LIKE ‘%ma%’Matrícula Apellidos Nombre Nota 920239 García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8
85 SQL: Sentencia INSERT Añade nuevas entradas a una tablaINSERT INTO table-name [(column-list)] VALUES(value-list) Ejemplo: INSERT INTO estudiantes VALUES (983476, ‘Ruiz Santos’, ‘Carmen’, ‘’, 8)
86 Ejemplo: INSERT Matrícula Apellidos Nombre Email Nota 920239García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Martín Ibarra Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8 983476 Ruiz Santos Carmen
87 SQL: Sentencia UPDATE Modifica datos ya existentes en una BBDDUPDATE table-name SET assignment [, assignment]* [WHERE expr] Ejemplo UPDATE estudiantes SET apellidos = ‘Castro Martín’ WHERE matricula =
88 Ejemplo: UPDATE Matrícula Apellidos Nombre Email Nota 920239García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Castro Martín Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8 983476 Ruiz Santos Carmen
89 SQL: Sentencia DELETE Elimina entradas de la BBDDDELETE FROM table-name [WHERE expr] Ejemplo: DELETE FROM estudiantes WHERE nota < 5
90 Ejemplo: DELETE Matrícula Apellidos Nombre Email Nota 920239García Noblejas Pedro 5 930834 Marcos Sanabria Ana 7 934587 Malik Pérez Juan 2 960535 Castro Martín Joaquín 3 970345 Guarner Calderón Pablo 970353 Peña Marcos Alicia 9 980657 Soler Vera Guillermo 8 983476 Ruiz Santos Carmen
91 Microsoft Access Ejemplo 14: Crear una base de datos en Access, según lo explicado en clase. Las tablas van a ser: Persona: Información sobre una persona Compra: Que persona compra que producto?? Producto: Información sobre un producto
92 Open DataBase ConnectivityAcceso a Base de Datos ActiveX Data Objects ADO OLE DataBase Open DataBase Connectivity OLEDB ODBC BD
93 Objetos para acceso a BDObjecto Connection Representa la conexión con la BD Objecto RecordSet Representa una tabla de datos proveniente de realizar una consulta Un objeto se crea con el comando Set. <% Set nombre_obj = ... %> Los objetos se cierran con el método Close. <% nombre_obj.Close %> Y por último se destruyen... <% Set nombre_obj = Nothing %>
94 Acceso a BBDD con ASP Acceso a BBDD con ASPCreacion de la conexión con la BD Acceso “REAL” a la BD (consulta, etc) Cierre de la conexión Acceso a los datos obtenidos (record)
95 Acceso a BBDD con ASP <% ‘Creación del objeto ConnectionSet Conn= Server.CreateObject("ADODB.Connection") ‘Apertura de la BD Conn.open “PROVIDER=Microsoft.Jet.OLEDB.4.0; DATA SOURCE= C:\inetpub\wwwroot\alumnos.mdb;” ‘Ejecución de una Query sSQL = "SELECT * FROM alumnos" Set rsDatos = Conn.Execute (sSQL) %>
96 Acceso a BBDD con ASP <%‘Ejecución de una Query Compleja, a partir de un formulario sSQL="SELECT * FROM alumnos WHERE Codigo=" & Request.QueryString("codigo") Set rsDatos = Conn.Execute (sSQL) %>
97 Acceso a BBDD con ASP <% ‘Cierre de la conexión con la BDConn.Close ‘Asignar a “nada” la variable utilizada Set Conn = Nothing ‘Cierre del record obtenido rsDatos.Close Set rsDatos = Nothing %>
98 Acceso a los datos obtenidos
<% Conn.Close Set Conn = Nothing rsDatos.Close Set rsDatos = Nothing %> Recomendación: if Not rsDatos.Eof Then …Nombre Apellidos Más información <% Do While Not rsDatos.EOF %> <% Loop %> <% Response.Write(rsDatos("Nombre"))%> <% Response.Write(rsDatos("Apellidos"))%> <% Response.Write(rsDatos("Codigo")) %>">Detalles <% rsDatos.Movenext %>
99 BBDD con ODBC
100 BBDD con ODBC
101 BBDD con ODBC
102 Acceso a BBDD Ejemplo 15: Consulta a Base de DatosRealizar una página Web que acceda la base de datos clase.mdb, a la que habremos dado como DSN el nombre de "clase". Ejemplo 16: Inserción en Base de Datos Ejemplo 17: Modificación y Borrado en Base de Datos Ejemplo 18: Informacion de un Libro Otros ejemplos: Buscador Alumnos Buscador Libros
103 Referencias ASP
104 Referencias Programación de Aplicaciones Web. S. Rodríguez, F. Pérez, J. Carretero, F. García, A. García, D. Nevado, M.S. Pérez, V. Robles, F. Rosales (2003). Editorial: Thomson. ISBN: ASP - MSDN Microsoft Directorio ASP
105 ASP Active Server PagesOscar Cubo Medina Santiago González Tortosa Victor Robles Forcada Programación Web en Servidor INEM – 2007