La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ASP Active Server Pages Oscar Cubo Medina Oscar Cubo Medina Santiago González Tortosa Santiago González Tortosa Victor Robles Forcada Victor Robles Forcada.

Presentaciones similares


Presentación del tema: "ASP Active Server Pages Oscar Cubo Medina Oscar Cubo Medina Santiago González Tortosa Santiago González Tortosa Victor Robles Forcada Victor Robles Forcada."— Transcripción de la presentación:

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

2 Contenidos Introducción Introducción Estáticas VS Dinámicas Estáticas VS Dinámicas Arquitectura de Aplicaciones Arquitectura de Aplicaciones CGI CGI Lenguaje ASP Lenguaje ASP Funcionamiento Funcionamiento Requisitos Requisitos Ventajas e Inconvenientes Ventajas e Inconvenientes Configuración Configuración Programación con VBScript Programación con VBScript Constantes y Variables Constantes y Variables Operadores 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 Paginas Estáticas VS Páginas Dinámicas Arquitectura de Aplicaciones Arquitectura de Aplicaciones Modelo 3 capas Modelo 3 capas Cliente VS Servidor Cliente VS Servidor Scripts y CGI Scripts y CGI

5 Páginas estáticas Servidor Web de … … GET GET Logo.gif Index.html

6 Páginas dinámicas Servidor Web de ctions&q1=http&Su bmit=Go GET …&Submit=Go BD Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Dfg Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Dfg Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Dfg + Plantillas Lógica de negocio Respuesta dinámica

7 Arquitectura de Aplicaciones Servicios de usuario Interfaz de usuario Servicios de trabajoServicios de datos Lógica de negocio Datos

8 Modelo de 3 capas Navegador Servidor Web Presentación Lógica de negocio Acceso a datos

9 Aplicaciones Web Cliente Browser Cliente Browser HTTP Máquina Servidora Cliente No Browser Cliente No Browser Servicios Soportados DBMS Lógica de negocio Servidor Web DBMS Protocolo de objetos Aplicaciones existentes

10 El mundo del Cliente HTML / DHTML / CSS HTML / DHTML / CSS Lenguajes de script: JavaScript / VBScript Lenguajes de script: JavaScript / VBScript Applet Java / Active X Applet Java / Active X

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

12 Lenguajes de script en cliente: JavaScript y VBScript VBScript sólo para Internet Explorer VBScript sólo para Internet Explorer JavaScript ampliamente utilizado JavaScript ampliamente utilizado Cada navegador tiene sus propias extensiones Cada navegador tiene sus propias extensiones Muy usados para realización de cálculos y validación de formularios Muy usados para realización de cálculos y validación de formularios

13 CGI Common Gateway Interface Common Gateway Interface Se pueden desarrollar con cualquier lenguaje Se pueden desarrollar con cualquier lenguaje Por aspectos de seguridad se almacenan en directorios específicos del servidor Por aspectos de seguridad se almacenan en directorios específicos del servidor

14 CGI Ventajas Ventajas Cualquier lenguaje de programación Cualquier lenguaje de programación Altamente extendidos Altamente extendidos Todas las plataformas Todas las plataformas Inconvenientes Inconvenientes Ojo con el uso de ejecutables en servidor Ojo con el uso de ejecutables en servidor Van lentos en IIS Van lentos en IIS

15 Lenguaje ASP ASP

16 ASP ¿Qué es? ¿Qué es? Funcionamiento Funcionamiento Requisitos Requisitos Ventajas e Inconvenientes Ventajas e Inconvenientes Configuración del Sistema Configuración del Sistema

17 ASP ¿Qué es? ¿Qué es? Active Server Pages – Paginas Activas en Servidor Active Server Pages – Paginas Activas en Servidor Es un lenguaje de programación Es un lenguaje de programación Generación de páginas dinámicas Generación de páginas dinámicas Servidor Windows Servidor Windows Anexo a IIS (Internet Information Server) Anexo a IIS (Internet Information Server)

18 Funcionamiento IIS Ejemplo Un ejemplo de ASP Un ejemplo de ASP <% response.write " " response.write " " response.write "Hola!" response.write "Hola!" response.write " response.write " %> ejemplo.asp 4) El Browser muestra el HTML Browser 2) El servidor Web lee HTML y ejecuta script 3) HTML resultante es enviado al browser a través de HTTP Ejemplo Un ejemplo de ASP Un ejemplo de ASP


Hola!
1) Petición de URL a través de HTTP

19 Ejemplo de ASP ">Hola Mundo Hola Mundo Ejecución del código

20 Requisitos para ejecutar ASP Servidor Web: Servidor Web: IIS (Internet Information Server) IIS (Internet Information Server) PWS (Personal Web Server) PWS (Personal Web Server) Drivers ODBC de acceso a Bases de Datos Drivers ODBC de acceso a Bases de Datos Editor de Texto Editor de Texto

21 ¿Por qué páginas ASP? Ventajas Ventajas Independientes del navegador Independientes del navegador Fácil de crear y usar Fácil de crear y usar Diferentes lenguajes de script válidos Diferentes lenguajes de script válidos No más gastos en Software No más gastos en Software Inconvenientes Inconvenientes Muy ligado a Microsoft Muy ligado a Microsoft Mala depuración Mala depuración Muchísimos WebSites están hechos con ASP Muchísimos WebSites están hechos con ASP

22 Configuración del sistema ¿Dónde se ponen las páginas ASP? ¿Dónde se ponen las páginas ASP? Directorio c:\inetpub\wwwroot Directorio c:\inetpub\wwwroot Configuración del directorio Configuración del directorio El usuario es IUSR_nombremaqina El usuario es IUSR_nombremaqina Necesita acceso de Lectura/Ejecución Necesita acceso de Lectura/Ejecución En caso de Base de Datos, también necesita acceso de Escritura En caso de Base de Datos, también necesita acceso de Escritura Ejercicio 1: poner nuestro entorno en producción. Ejercicio 1: poner nuestro entorno en producción.

23 Programación con VBScript ASP

24 Programación con VBScript Variables Variables Constantes Constantes Comentarios Comentarios Operadores Operadores Estructuras de Control Estructuras de Control Bucles Bucles Funciones y Procedimientos Funciones y Procedimientos

25 Variables En general: En general: No hay que declararlas. No hay que declararlas. Suele ser útil declararlas. Suele ser útil declararlas. Option Explicit (obliga a declararlas) Option Explicit (obliga a declararlas) Sólo hay un tipo, el variant Sólo hay un tipo, el variant x = 36 x = Mi texto Imprimir valor de variable Imprimir valor de variable

26 Contantes, Operadores, … Constantes Constantes Se declaran con Const 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: =, <>,, =

27 Constantes, Operadores… Ejemplo 2: Calcular el precio real de dos ordenadores, que cuestan: 1123 euros 1123 euros 1326 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 If.. Then... ElseIf <% x = 23 If x < 0 Then %> Número Negativo <% ElseIf x>0 Then %> Número Positivo <% Else %> Es cero <% End If %> condición If condición Thensentencias condición2 Elseif condición2 Thensentencias2 Elsesentencias3 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: 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 1 Valor 2 Valor 2 Otro valor (3, 4, 0 …) Otro valor (3, 4, 0 …)

30 Bucles Do while/until Do while/until Do...loop while/until Do...loop while/until For…Next For…Next For Each…Next For Each…Next While While Exit Do Exit Do Exit For Exit For

31 Bucles Do While... Loop Do While... Loop <% x = 10 Do While x > 0 %> x = x - 1 Loop %> Do While condición sentencias Loop

32 For... Next For... Next For variable = inicio To fin sentencias Next Bucles

33 Do while/until Do While Do While do while condición sentenciasloop Ejemplo Ejemplo do while a <= 10 a = a + 1 loop Do Until condición do until condiciónsentencias loop Ejemplo a > 10 do until a > 10 a = a + 1 loop

34 Do…loop while/until Do…loop While Do…loop Whiledosentencias loop while condición Ejemplo Ejemplodo a = a + 1 loop while a <= 10 Do…loop Until dosentencias condición loop until condición Ejemplo do a = a + 1 a > 10 loop until a > 10

35 For (each)…Next For…Next For…Next For variable = inicio to fin sentenciasNext Ejemplo Ejemplo For i = 1 to 10 a = a + 1 Next For each…Next variableseq For each variable in seqsentencias Next Ejemplo personacola For each persona in cola contador = contador + 1 Next

36 While For each…Next For each…Next While condición sentenciasWend Ejemplo Ejemplo Dim value Value = 1 While value < 10 value = value + 1 Wend

37 Bucles Ejercicio 4: Realizar la tabla de multiplicar del 1 hasta el 10, con valores del 1 al 10. Ejercicio 4: Realizar la tabla de multiplicar del 1 hasta el 10, con valores del 1 al

38 Funciones Devuelve un valor Devuelve un valor Function gradosCelsius(gradosCent) gradosCelsius = (gradosCent - 32) * 5 / 9 End Function cent = 35 celsius = gradosCelsius(cent) Mismo nombre que función nombreparametros Function nombre (parametros) setencias nombre = … End Function

39 Procedimientos No devuelven valor No devuelven valor <% Sub trata_Cadena (miCadena) %> La cadena inicial: En mayúsculas: Número caracteres: nombreparametros Sub nombre (parametros) sentencias End Sub

40 Procedimientos Llamar a Sub Llamar a Sub Call trata_Cadena("Cuántas letras tengo?") 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 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. Ejemplo 5b: Lo mismo que el ejercicio anterior pero utilizando procedimientos.

42 Funciones Integradas en ASP Cogen argumentos y devuelven un valor Cogen argumentos y devuelven un valor Manipulan strings, fechas y horas y matemáticas Manipulan strings, fechas y horas y matemáticas miPalabra = "Patata" x = Len(miPalabra)

43 Inclusión de ficheros Suele ponerse extensión.inc Suele ponerse extensión.inc Luego se incluye con Luego se incluye con

44 Modelo de Objetos ASP

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

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

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

48 Objeto Request: Objeto Request: captura la información que va del cliente al servidor. captura la información que va del cliente al servidor. Objeto Response Objeto Response manda información del servidor al cliente. 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. 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: 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. 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: Objeto Application: Sirve para almacenar información que será compartida entre todos los clientes 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. 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: Objeto Session: Almacena información válida para todas las páginas mientras dure la sesión del usuario. 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. 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 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. 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 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. 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 Por favor, introduce tus datos Nombre Correo-e Dirección Añademe a la lista de direcciones

55 Colección QueryString y Form Si se utiliza POST es todo lo mismo pero utilizando Request.Form Si se utiliza POST es todo lo mismo pero utilizando Request.Form Nombre del Objeto tiene Valor <% Dim nombre nombre = Request.QueryString("sNombre") %> Nombre:

56 Colección QueryString y Form Ejercicio 7a: Formulario de creación de usuarios. Ejercicio 7a: Formulario de creación de usuarios. Campos: Campos: Nombre Nombre Usuario Usuario Password y Repetir Password Password y Repetir Password Método POST Método POST Comprobacion de Passwords iguales y mayores a 7 letras o digitos. Comprobacion de Passwords iguales y mayores a 7 letras o digitos. Aviso de creación correcta o incorrecta Aviso de creación correcta o incorrecta Ejercicio 7b: Formulario de creación de usuarios. Ejercicio 7b: Formulario de creación de usuarios. Campos: Campos: Nombre Nombre Usuario Usuario Password y Repetir Password Password y Repetir Password Método GET (ERROR MUY GORDO!) Método GET (ERROR MUY GORDO!) Comprobacion de Passwords iguales y mayores a 7 letras o digitos. Comprobacion de Passwords iguales y mayores a 7 letras o digitos. Aviso de creación correcta o incorrecta Aviso de creación correcta o incorrecta

57 Colección QueryString y Form Más ejercicios: 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. 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. 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. Es un paquete de información que es enviado del cliente al servidor en cada respuesta. Con Request leemos, con Response escribimos. Con Request leemos, con Response escribimos. Cookie: ' ' Valor: ' '

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. 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 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. La segunda página se encargará del borrado y de la inserción de las cookies.

60 Colección ServerVariables Valor = Request.ServerVariables(HeaderType) Valor = Request.ServerVariables(HeaderType) HeaderType: HeaderType: REMOTE_ADDR: Dirección IP de máquina remota REMOTE_ADDR: Dirección IP de máquina remota LOGON_USER: Usuario LOGON_USER: Usuario ALL_HTTP: Toda la cadena HTTP ALL_HTTP: Toda la cadena HTTP HTTP_USER_AGENT: Cliente utilizado HTTP_USER_AGENT: Cliente utilizado HTTP_COOKIE: Cookies en la máquina remota HTTP_COOKIE: Cookies en la máquina remota HTTP_REFERER: Página de la que procedo HTTP_REFERER: Página de la que procedo HTTP_ACCEPT: Tipo de ficheros admitidos HTTP_ACCEPT: Tipo de ficheros admitidos

61 El objeto Response Permite escribir información y cookies en cliente Permite escribir información y cookies en cliente Para realizar redirecciones: Response.Redirect(nombre) Para realizar redirecciones: Response.Redirect(nombre) Permite realizar buffering: Permite realizar buffering: Response.Buffer Response.Buffer Response.Clear Response.Clear Response.Flush Response.Flush Controlar cuando expira una página: Response.Expires(min) Controlar cuando expira una página: Response.Expires(min)

62 El objeto Server Tiene 4 métodos: Tiene 4 métodos: CreateObject: Crea una instancia de un objeto en el servidor CreateObject: Crea una instancia de un objeto en el servidor HTMLencode: Aplica codificaciónm HTML a una cadena HTMLencode: Aplica codificaciónm HTML a una cadena Mappath: Convierte un path virtual en un path físico Mappath: Convierte un path virtual en un path físico URLencode: Aplica codificación URL a una cadena URLencode: Aplica codificación URL a una cadena

63 El objeto Server Ejercicio 9: Escribir el texto Ejercicio 9: Escribir el texto texto negrita texto italica UPM texto negrita texto italica UPM Usando la funcion HTMLencode Usando la funcion HTMLencode Sin usarla Sin usarla Escribir la direccion web Escribir la direccion web que tal:ñá Usando la función URLencode Usando la función URLencode Sin usarla Sin usarla

64 Otros Objetos Objeto Scripting.Dictionary contiene pares de elementos (clave, valor). Por ejemplo carrito de compras. 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. 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) 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 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 Acceso a carpetas set carpeta = fs.GetFolder (path) set carpetas = carpeta.SubFolders for each c in carpetas …c.NameNext AcciónSentencia Crear nueva carpeta Set nc = fs.CreateFolder(path) Renombrarc.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 Acceso a ficheros set ficheros = carpeta.Files for each f in ficheros …f.Namef.Sizef.DateCreatedf.DateLastModifiedNext Ejemplo 11: Mostrar el contenido de la carpeta System32 Ejemplo 11: Mostrar el contenido de la carpeta System32 Existencia de ficherofs.FileExists(fichero) Existencia de ficherofs.FileExists(fichero) Copiar ficherosfs.CopyFile path1 path2 Copiar ficherosfs.CopyFile path1 path2 Borrar ficherosfs.DeleteFile(fichero) Borrar ficherosfs.DeleteFile(fichero)

69 Uso de Sistemas de Fichero y E/S Ejemplo 12: Sistema Backup Ejemplo 12: Sistema Backup Realizar un sistema backup que copie todo el contenido de una carpeta dentro de otra carpeta. 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: 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 Acceso a un fichero de texto OpenTextFile (nombre [, modo[, crear[, formato]]] ) Modo: (1) ForReading, (2) ForWriting, (3) ForAppending Modo: (1) ForReading, (2) ForWriting, (3) ForAppending Crear: True si se va a crear nuevo. False en caso contrario Crear: True si se va a crear nuevo. False en caso contrario Formato: TristateTrue si es Unicode, TristateFalse si es ASCII Formato: TristateTrue si es Unicode, TristateFalse si es ASCII Lectura de fichero de texto Lectura de fichero de texto set entrada = fs.OpenTextFile(fichero.txt) Do While Not (entrada.atEndOfStream) Texto = Texto & entrada.ReadLine & Texto = Texto & entrada.ReadLine & Loop Escritura (con/sin reemplazo) en fichero Escritura (con/sin reemplazo) en fichero set entrada = fs.OpenTextFile(fichero.txt) set entrada = fs.OpenTextFile(fichero.txt) set salida = fs.OpenTextFile(fichero2.txt, 2, True) set salida = fs.OpenTextFile(fichero2.txt, 2, True) Do While Not (entrada.atEndOfStream) texto = entrada.ReadLine salida.WriteLine texto Loop

71 Uso de Sistemas de Fichero y E/S Ejemplo 13: Copiar el contenido de un fichero en otro 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 Introducción a BBDD Microsoft Access Microsoft Access Acceso a BBDD con ASP Acceso a BBDD con ASP

74 Introducción a BBDD Base de datos Base de datos Conjunto de datos interrelacionados Conjunto de datos interrelacionados Almacenados sistemáticamente Almacenados sistemáticamente Gestor de base de datos Gestor de base de datos Programa informático Programa informático Almacena los datos de forma eficiente Almacena los datos de forma eficiente Permite acceder rápidamente a los datos Permite acceder rápidamente a los datos SQL – Structured Query Language SQL – Structured Query Language Lenguaje estándar de interrogación Lenguaje estándar de interrogación Es un estándar ANSI/ISO Es un estándar ANSI/ISO Pronunciado esquiuel Pronunciado esquiuel

75 Ejemplo de BBDD MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera

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

77 SQL: Sentencia SELECT Consulta una BBDD 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, FROM estudiantes MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera

79 SELECT apellidos, FROM estudiantes MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera

80 SELECT apellidos FROM estudiantes WHERE nota>=5 MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera

81 SELECT apellidos FROM estudiantes WHERE nota>=5 MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera

82 Operador LIKE Busca una subcadena Busca una subcadena El símbolo % encaja con cualquier cosa El símbolo % encaja con cualquier cosa Ejemplos Ejemplos LIKE ma%= Empieza por ma LIKE ma%= Empieza por ma LIKE %id= Acaba por id LIKE %id= Acaba por id LIKE Ma%id= Empieza por ma y acaba por id LIKE Ma%id= Empieza por ma y acaba por id LIKE %dr%= Contiene la cadena dr LIKE %dr%= Contiene la cadena dr

83 SELECT * FROM estudiantes WHERE LIKE %ma% MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera

84 SELECT * FROM estudiantes WHERE LIKE %ma% MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera

85 SQL: Sentencia INSERT Añade nuevas entradas a una tabla Añade nuevas entradas a una tabla INSERT INTO table-name [(column-list)] VALUES(value-list) Ejemplo: Ejemplo: INSERT INTO estudiantes VALUES (983476, Ruiz Santos, Carmen,, 8)

86 Ejemplo: INSERT MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Martín Ibarra Guarner Calderón Peña Marcos Soler Vera Ruiz Santos Carmen8

87 SQL: Sentencia UPDATE Modifica datos ya existentes en una BBDD Modifica datos ya existentes en una BBDD UPDATE table-name SET assignment [, assignment]* [WHERE expr] Ejemplo Ejemplo UPDATE estudiantes SET apellidos = Castro Martín WHERE matricula =

88 Ejemplo: UPDATE MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Castro Martín Guarner Calderón Peña Marcos Soler Vera Ruiz Santos Carmen8

89 SQL: Sentencia DELETE Elimina entradas de la BBDD Elimina entradas de la BBDD DELETE FROM table-name [WHERE expr] Ejemplo: Ejemplo: DELETE FROM estudiantes WHERE nota < 5

90 Ejemplo: DELETE MatrículaApellidosNombre Nota García Noblejas Marcos Sanabria Malik Pérez Castro Martín Guarner Calderón Peña Marcos Soler Vera Ruiz Santos Carmen8

91 Microsoft Access Ejemplo 14: Crear una base de datos en Access, según lo explicado en clase. Las tablas van a ser: 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 Persona: Información sobre una persona Compra: Que persona compra que producto?? Compra: Que persona compra que producto?? Producto: Información sobre un producto Producto: Información sobre un producto

92 Acceso a Base de Datos ADO OLEDBODBC ActiveX Data Objects BD Open DataBase Connectivity OLE DataBase

93 Objetos para acceso a BD Objecto Connection Objecto Connection Representa la conexión con la BD Representa la conexión con la BD Objecto RecordSet Objecto RecordSet Representa una tabla de datos proveniente de realizar una consulta Representa una tabla de datos proveniente de realizar una consulta Un objeto se crea con el comando Set. Un objeto se crea con el comando Set. Los objetos se cierran con el método Close. Los objetos se cierran con el método Close. Y por último se destruyen... Y por último se destruyen...

94 Acceso a BBDD con ASP Acceso a BBDD con ASP Acceso a BBDD con ASP Creacion de la conexión con la BD Creacion de la conexión con la BD Acceso REAL a la BD (consulta, etc) Acceso REAL a la BD (consulta, etc) Cierre de la conexión Cierre de la conexión Acceso a los datos obtenidos (record) 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 Asignar a nada la variable utilizada Set rsDatos = Nothing %>

98 Acceso a los datos obtenidos Nombre Apellidos Más información Detalles <% Conn.Close Set Conn = Nothing rsDatos.Close Set rsDatos = Nothing %> Recomendación: if Not rsDatos.Eof Then … Recomendación: if Not rsDatos.Eof Then …

99 BBDD con ODBC

100

101

102 Acceso a BBDD Ejemplo 15: Consulta a Base de Datos 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". 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 16: Inserción en Base de Datos Ejemplo 17: Modificación y Borrado en Base de Datos Ejemplo 17: Modificación y Borrado en Base de Datos Ejemplo 18: Informacion de un Libro Ejemplo 18: Informacion de un Libro Otros ejemplos: Otros ejemplos: Buscador Alumnos Buscador Alumnos Buscador Libros 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: 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 ASP - MSDN Microsoft Directorio ASP Directorio ASP / / / /

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


Descargar ppt "ASP Active Server Pages Oscar Cubo Medina Oscar Cubo Medina Santiago González Tortosa Santiago González Tortosa Victor Robles Forcada Victor Robles Forcada."

Presentaciones similares


Anuncios Google