La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ASP Active Server Pages

Presentaciones similares


Presentación del tema: "ASP Active Server Pages"— Transcripción de la presentación:

1 ASP Active Server Pages
Oscar Cubo Medina Santiago González Tortosa Victor Robles Forcada Programación Web en Servidor INEM – 2007

2 Contenidos Introducción Modelo de Objetos Lenguaje ASP
Está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ámicas
Arquitectura 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 “ Index.html <HTML> <IMG src=“logo.gif”> </HTML> GET “ 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 Aplicaciones
Ló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 Web
Lógica de negocio Acceso a datos

9 Aplicaciones Web Cliente Browser HTTP DBMS Lógica de negocio DBMS
Servidor 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 / CSS
Lenguajes de script: JavaScript / VBScript Applet Java / Active X

11 El mundo del Servidor HTML / DHTML / XML ASP / JSP / PHP CGI
VBScript / JavaScript Servlets / Scriptlets COM / DCOM / COM+ / EJB ODBC / JDBC / OLE DB / ADO

12 Lenguajes de script en cliente: JavaScript y VBScript
VBScript 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 Interface
Se 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ón
Altamente 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 Inconvenientes
Configuración del Sistema

17 ASP ¿Qué es? Generación de páginas dinámicas Servidor Windows
Active 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
<HTML> <TITLE>Ejemplo</TITLE> <BODY> <H1>Un ejemplo de ASP</H1> <% response.write "<HR>" response.write "Hola!" response.write "<HR>” %> </BODY> </HTML> 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 <HTML> <TITLE>Ejemplo</TITLE> <BODY> <H1>Un ejemplo de ASP</H1> <HR> Hola! </BODY> </HTML> ejemplo.asp

19 Ejemplo de ASP <% For i=3 to 7 %>
<FONT SIZE="<% =i %>">Hola Mundo</FONT><BR> <% Next %> <FONT SIZE="3">Hola Mundo</FONT><BR> <FONT SIZE="4">Hola Mundo</FONT><BR> <FONT SIZE="5">Hola Mundo</FONT><BR> <FONT SIZE="6">Hola Mundo</FONT><BR> <FONT SIZE="7">Hola Mundo</FONT><BR> Ejecución del código

20 Requisitos para ejecutar ASP
Servidor 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 Inconvenientes
Independientes 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 VBScript
Variables Constantes Comentarios Operadores Estructuras de Control Bucles Funciones y Procedimientos

25 Variables En general: Imprimir valor de variable
No 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 control
If .. Then ... ElseIf <% x = 23 If x < 0 Then %> <B>Número Negativo</B> ElseIf x>0 Then <B>Número Positivo</B> Else <B>Es cero</B> End If If condición Then sentencias Elseif condición2 Then sentencias2 Else sentencias3 End If

29 Estructuras de Control
Ejemplo 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…Next
Exit Do Exit For

31 Bucles Do While... Loop <% x = 10 Do While x > 0 %>
<B><% =X %></B><BR> 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 %> <B><% =X %></B><BR> <% Next %>

33 Do while/until Do While Ejemplo Do Until Ejemplo do while condición
sentencias 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 do
sentencias 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 Ejemplo
For 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 value
While 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ón
Funciones 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) sentencias
End Sub <% Sub trata_Cadena (miCadena) %> La cadena inicial: <% =miCadena %><BR> En mayúsculas: <% =UCase(miCadena) %><BR> Número caracteres: <% =Len(miCadena) %><BR> <% End Sub %>

40 Procedimientos Llamar a Sub Call trata_Cadena("Cuántas letras tengo?")

41 Funciones y Procedimientos
Ejemplo 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 ASP
Cogen argumentos y devuelven un valor Manipulan strings, fechas y horas y matemáticas miPalabra = "Patata" x = Len(miPalabra)

43 <!-- #INCLUDE FILE="cabecera.inc" -->
Inclusión de ficheros Suele ponerse extensión .inc Luego se incluye con <!-- #INCLUDE FILE="cabecera.inc" -->

44 Modelo de Objetos ASP

45 Modelo de Objetos Estructura de Modelo de Objetos Objeto Request
Colección QueryString y Form Colección Cookies Colección ServerVariables Objeto Response Objeto Server Otros Objetos

46 Modelo de objetos de ASP
Server Objeto Request Cliente Servidor Objeto Response Objeto Application Objeto Session Objeto ObjectContext

47 Modelo de objetos de ASP
Aplicación ASP (Objeto Application) Session Session Session Cliente Cliente Cliente

48 Modelo de objetos de ASP
Objeto 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 ASP
Objeto 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 ASP
Objeto 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 ASP
Ejemplo 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 Cookies
ClientCertificate Propiedades TotalBytes Métodos BinaryRead

53 Colección QueryString y Form
Cliente (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
<FORM NAME="informacionusuario" ACTION="INFORMACION.ASP" METHOD="GET" > <H2>Por favor, introduce tus datos</H2><P> <PRE> Nombre <INPUT TYPE="TEXT" NAME="sNombre" SIZE=20> Correo-e <INPUT TYPE="TEXT" NAME="sCorreo" SIZE=20> Dirección <TEXTAREA SIZE="15,2“ NAME="sDireccion"> </TEXTAREA> </PRE> <CENTER> <INPUT TYPE=CHECKBOX NAME="bPoner" VALUE=True>Añademe a la lista de direcciones<P> <INPUT TYPE=RESET VALUE="Limpiar"> <INPUT TYPE=SUBMIT VALUE="Enviar"> </CENTER> </FORM>

55 Colección QueryString y Form
<% For each Objeto in Request.QueryString %> Nombre del Objeto ‘<% Response.Write(Objeto) %>’ tiene Valor ‘<% = Request.QueryString(Objeto) %>’<BR> <% Next %> <P> <% 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 Form
Ejercicio 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 Form
Má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) %>' <BR> <% 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 ServerVariables
Valor = 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 cliente
Para 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 <b>texto negrita</b> <i>texto italica</i> <a href=‘ 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/S
set 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/S
Acceso 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/S
Acceso 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/S
Ejemplo 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/S
Acceso 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 & “<br>” 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/S
Ejemplo 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 Access
Acceso a BBDD con ASP

74 Introducción a BBDD Base de datos Gestor de base de datos
Conjunto 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 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

76 SQL: Sentencia USE Seleccionar la BBDD a la que se desea acceder
Los lenguajes de programación proporcionan una función

77 SQL: Sentencia SELECT Consulta una BBDD
SELECT DISTINCT [*|cols] [FROM table-list] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [ORDER BY sort-expr-list]

78 SELECT apellidos, email FROM estudiantes
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

79 SELECT apellidos, email FROM estudiantes
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

80 SELECT apellidos FROM estudiantes WHERE nota>=5
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

81 SELECT apellidos FROM estudiantes WHERE nota>=5
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

82 Operador LIKE Busca una subcadena
El 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 tabla
INSERT 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 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 983476 Ruiz Santos Carmen

87 SQL: Sentencia UPDATE Modifica datos ya existentes en una BBDD
UPDATE 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 920239
Garcí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 BBDD
DELETE FROM table-name [WHERE expr] Ejemplo: DELETE FROM estudiantes WHERE nota < 5

90 Ejemplo: DELETE Matrícula Apellidos Nombre Email Nota 920239
Garcí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 Connectivity
Acceso a Base de Datos ActiveX Data Objects ADO OLE DataBase Open DataBase Connectivity OLEDB ODBC BD

93 Objetos para acceso a BD
Objecto 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 ASP
Creacion 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 Connection
Set 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 BD
Conn.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
<TABLE> <TH>Nombre <TH>Apellidos <TH>Más información <% Do While Not rsDatos.EOF %> <TR> <TD> <% Response.Write(rsDatos("Nombre"))%> </TD> <TD> <% Response.Write(rsDatos("Apellidos"))%> </TD> <TD> <a href="masinfo.asp?codigo= <% Response.Write(rsDatos("Codigo")) %>">Detalles</TD> <% rsDatos.Movenext %> </TR> <% Loop %> </TABLE> <% Conn.Close Set Conn = Nothing rsDatos.Close Set rsDatos = Nothing %> Recomendación: if Not rsDatos.Eof Then …

99 BBDD con ODBC

100 BBDD con ODBC

101 BBDD con ODBC

102 Acceso a BBDD Ejemplo 15: Consulta a Base de Datos
Realizar 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 Pages
Oscar Cubo Medina Santiago González Tortosa Victor Robles Forcada Programación Web en Servidor INEM – 2007


Descargar ppt "ASP Active Server Pages"

Presentaciones similares


Anuncios Google