Anda di halaman 1dari 17

INTRODUCCIN AL ASP

Caracteristicas
Veremos algunas de las caracteristicas mas importantes de esta tecnologia La sigla ASP significa Active Server Pages. Microsoft es el creador. Se ejecuta en el servidor donde esta alojada la pagina web. El cliente (navegador del usuario) no nota diferencias con una pagina normal (HTML). Por medio de ASP se puede tener acceso a bases de datos. Para su implementacion se utiliza lenguaje script como VBScript o JScript. Se puede utilizar HTML y ASP en una misma pagina. Es totalmente ampliable gracias a que es compatible con la tecnologia ActiveX.

Funcionamiento
Aqui estan pasa a paso como funciona una pagina ASP. 1. Un usuario por medio del navegador solicita una pagina ASP. 2. Esta solicitud llega al servidor el cual tiene alojada la pagina pedida. 3. Este servidor procesa la pagina ASP y devuelve codigo HTML. 4. El usuario visualiza la pagina en su navegador. Noten que para el usuario no existe diferencia en ASP y HTML por que a su navegador siempre llega codigo HTML puro, el unico que requiere un trabajo extra es el servidor el cual tiene que procesar el codigo ASP y tranformarlo en HTML para su posterior envio al cliente.

Como Utilizarlo.Para utilizarlo nesecitamos un servidor que procese nuestras paginas ASP, para ello existe el Internet Information Sever bajo Windows NT o 2000 y bajo Windows 95/98 esta el Personal Web Server que viene el CD de Instalacion de Windows 98 o en el CD del Visual Studio. NOTA: Algo muy importante es saber que la programacin ASP esta basada en VBScript en otras palabras son las mismas funciones,sintaxi, etc. Esto no incluye que no se pueda utilizar otro script como Jscript por ejemplo. Debemos tener en cuenta que antes de escribir cualquier codigo ASP debemos abrir nuestro codigo con el simbolo '<%' y al finalizar cerrarlo con '%>' <% 'este es un comentario Response.Write ("Mi Primer Pagina ASP") %>

Variables
La forma de declaran variables es por medio de la palabra 'Dim', aclaremos que la declaracion de variables no es necesaria, salvo que al inicio de nuestra pagina ASP pongamos la palabra clave 'Option Explicit' que hace que la declaracion de variables sea necesaria si no nos daria un error. <% Option Explicit Dim I 'declaramos la variable I= 14 ' le asignamos un valor Response.Write (I) 'mostramos su valor en el navegador %>

Condicionales
El condicional mas utilizado en cualquier lenguaje es el famoso IF, VBScript no podia quedarse afuera, el modo de uso es poner la palabra clave 'If' despues la condicion a evaluar, luego 'Then' y el codigo a ejecutar si se cumple la condicion dada, al finalizar se cierra el bloque 'If' con la palabra clave 'End If' <% Dim I I = 14 If I = 14 Then Response.Write ("La variable I es igual a 14")

End If %> Tambien extiste la alternativa 'Else' (sino), es decir sino se cumple la condicion hacer lo siguiente, veamos un ejemplo <% Dim I I = 14 If I = 14 Then Response.Write ("La variable I es igual a 14") Else Response.Write ("La variable I es distinta a 14") End If %> Fijense que pusimos 'I = 14' tambien podemos hacer otro tipo de condicion como puede ser distinto 'I <> 14', mayor 'I > 14', menor 'I < 14', mayor o igual 'I >= 14', menor o igual 'I <= 14'

Bucles
VBScript posee un bucle llamador 'For' que repite una accion la cantidad de veces indicada <% Dim I For I = 1 to 5 Response.Write ("Esto se repite 5 veces") Next %> Podemos modificar el numero 5 y poner un 10 y lo repetira 10 veces, tambien podemos modificar el numero 1 por el 3 y el 5 por el 6, esto hara que el bucle se repita 3 veces, '3 to 6' (desde 3 hasta 6), tambien podemos indicar el incremento que tendra por medio de la palabra clave 'step' <% Dim I For I = 1 to 10 step 2 Response.Write ("Esto se repite de dos en dos, i = " & i) Next %> Gracias a esto podemos hacer un bucle inverso por ejemplo de 10 a 1 <% Dim I For I = 10 to 1 step -1 Response.Write ("i = " & i) Next %> La palabra clave 'Next' indica el final del bucle, es decir se repite todo lo que esta entre el 'For' y 'Next'

While..Wend
Este bucle a diferencia del 'For' repite una accion siempre que se cumpla una condicion, veamos un ejemplo <% Dim I I = 0 'inicializa i igual a 0 While I <> 10 'repita mientras i sea distinto a 10 Response.Write ("i = " & i) 'muestra por pantalla el valor de i I = I + 1 'incrementa i en uno Wend %> Cuando agregamos la palabra clave 'Wend' estamos diciendo que repita todo el codigo incluido entre While y Wend

OBJETOS DEL ASP


1.- Objeto Application
El objeto Application se utiliza para compartir informacin entre todos los usuarios de una aplicacin (entendemos por una aplicacin ASP todos los archivos .asp de un directorio virtual y sus subdirectorios. Como varios usuarios pueden compartir un objeto Application, existen los mtodos Lock y Unlock para asegurar la integridad del mismo (varios usuarios no puedan modificar una misma propiedad al mismo tiempo). Lock El mtodo Lock asegura que slo un cliente puede modificar o tener acceso a las variables de Application al mismo tiempo. Sintaxis ApplicationLock Unlock El mtodo Unlock desbloquea el objeto Application para que pueda ser modificado por otro cliente despus de haberse bloqueado mediante el mtodo Lock. Si no se llama a este mtodo de forma explcita, el servidor Web desbloquea el objeto Application cuando el archivo .asp termina o transcurre su tiempo de espera. Sintaxis Application.Unlock Ejemplo <% Application.Lock Application("visitas") = Application("visitas")+1 Application.Unlock %> Eres el visitante numero <%= Application("visitas") %> En el ejemplo anterior el mtodo Lock impide que ms de un cliente tenga acceso a la variable Visitas al mismo tiempo. Si la aplicacin no se hubiera bloqueado, dos clientes podran intentar incrementar simultneamente el valor de la variable Visitas. El mtodo Unlock libera el objeto bloqueado de forma que el prximo cliente puede incrementar la variable. Nota Importante: En el objeto Application pueden almacenarse matrices, pero estas son almacenadas como un objeto, es decir, no podemos almacenar o recuperar un solo elemento de la matriz, si no que cargaremos o recuperaremos la variable con la matriz completa Ejemplo <%Dim parametros(2) parametros(0) = "verde" parametros(1) = 640 parametros(2) = 480 Application.Lock Application("Param") =parametros%> Application.UnLock con estas instrucciones almacenaramos TODA la matriz en la variable de aplicacin "Param" Para recuperar los valores de la matriz primero recuperamos esta en una variable normal <%Apliparam=Application("Param")%> Ahora podremos operar con los valores de la tabla en las variables Apliparam(0), Apliparam(1) y Apliparam(2)

2.- Objeto Response


Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, su funcion es enviar informacion al cliente (navegador) PROPIEDADES Buffer Esta propiedad es del tipo boolean (true/false) e indica si la pagina se alamacena en el buffer del servidor antes de ser enviada, es decir si esta true envia la pagina al cliente recien cuando este toda cargada y si esta false la envia a medida que la procesa. Se debe utilizar antes de haver enviado algun resultado al

cliente. Si el servidor utilizado tiene la version de ASP 2.0 el valor predeterminado de esta propiedad es false y en cambio la version es la 3.0 (Windows 2000) el valor predeterminado es true. Ejem: <%Response.Buffer = TRUE%> Expires Esta propiedad indica el tiempo, en minutos, que la pagina se guarda el el cache del navegador, si este valor se pone a 0 no se utiliza el cache del navegador Ejem: <% Response.Expires = 5%> ExpiresAbsolute Esta propiedad indica hasta que dia y hora la pagina se guarda en el cache del navegador. Ejem: <% Response.ExpiresAbsolute=#May 5, 2001 14:30:00# %> Cookies Crea una cookie en la maquina del usuario. Una cookies es un archivo con formato de texto en el cual el se puede guardar informacion. Las cookies por lo general se utilizan para controles de acceso, personalizacion de paginas y estadisticas. El siguiente ejemplo crea una cookie llamada 'fecha' la cual contiene el valor devuelto por la funcion 'date' que nos devuelve la fecha actual Ejem: <% Response.Cookies("fecha") = date %> Esta cookie se mantiene en la maquina del usuario hasta que termine su session, borre las del navegador o se cumpla el tiempo establecido para esa cookies, a continuacion veremos la forma de establecer la duracion de una cookie <% Response.cookies("fecha").expires="2/12/2001"%> Esto hace que la cookie se borre en la fecha indicada, si creamos otra cookie llamada 'fecha' esta sobreescribira a la otra METODOS End Este metodo detiene el proceso de la pagina ASP y envia lo ya procesado al navegador <%Response.End%> Flush Este metodo envia el contenido del buffer al navegador siempre y cuando la propiedad Buffer se true, si la propiedad Buffer es igual a false se producira un error <%Response.Flush%> Redirect (cadena_url) Este metodo redirecciona la pagina actual a la pasada como parametro. <%Response.Redirect "otra_pagina.asp"%> Write (cadena) Este metodo escribe en el navegador la cadena padada como parametro, tengan en cuenta que tambien se pueden enviar etiquetas HTML y concatenar variable con el operador & (VBScript). Ejemplo <%Response.Write ("<b>hola!!!</b>%>

3.- Objeto Request


Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, por medio de este objeto podes tener acceso a la informacion que el navegador pasa al servidor. PROPIEDADES (COLECCIONES) Form Esta propiedad es una coleccion que contiene todos los elementos de un formulario (<form>) pasado al archivo ASP con el metodo POST (<form method='post'>), la forma de acceder a el valor de un elemento del formulario es la siguiente... <%=Request.Form("nombre_elemento")%> Ejemplo --------------formulario.htm---------------<HTML> <HEAD> </HEAD> <BODY> <form action="procesa_formulario.asp" method="POST"> Nombre:<input type="Text" name="nombre" maxlength="20"><br> Apellido:<input type="Text" name="apellido" maxlength="30"><br> <input type="Submit" name="Submit" value="Enviar"> </form> </BODY> </HTML> --------------procesa_formulario.asp-------<HTML> <HEAD> </HEAD>

<BODY> <% Response.Write ("nombre:" & Request.Form("nombre"))%> <% Response.Write ("apellido:" & Request.Form("apellido")) %> </BODY> </HTML> Cookies Recupera una cookie almacenada en la maquina del usuario. Una cookies es un archivo con formato de texto en el cual el se puede guardar informacion. Las cookies por lo general se utilizan para controles de acceso, personalizacion de paginas y estadisticas. El siguiente ejemplo recupera la cookie llamada 'fecha' que creamos anteriormente. Ejemplo <% Response.Write Request.Cookies("fecha") %> Debido a la natualeza de las cookies y a que nunca podemos garantizar que una cookie almazenada anteriormente todavia exista debemos manejarnos con cautela y no almacenar en ellas datos criticos. QueryString Esta coleccion contiene todos los valores pasados como parametros a una pagina ASP. La formas de pasar parametros a una pagina ASP son varias una es por medio de formularios utilizando el metodo 'GET' y la otra es generandolo 'manualmente'... http://www.servidor_xxx.com/pagina_asp.asp?nombre=jose&apellido=perez Esa es la manera de pasar parametros a una pagina ASP, luegop del la direccion URL se pone el signo '?' y a continuacion todos los parametros con sus respectivos valores separados por el simbolo '&'. Ejemplo -----------------------pasa_parametros.asp------------------<HTML> <HEAD> </HEAD> <BODY> <A HREF="lee_parametros.asp?nombre=jose">click aca! </A> </BODY> </HTML> -----------------------lee_parametros.asp---------------------<% Response.Write (Request.QueryString("nombre") & "<br>") %> ServerVariables Esta coleccion nos da acceso a todas las variables de entorno del servidor. Ejemplo <% Response.Write (Request.ServerVariables("REMOTE_ADDR")) Response.Write (Request.ServerVariables("SERVER_SOFTWARE")) %>

4.- Objeto Server


Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, por medio de este objeto podes tener acceso a funciones utiles del servidor. PROPIEDADES ScriptTimeout Esta propiedad determina el tiempo maximo en segundos que se espera para ejecutar la pagina ASP. Si la pagina tarda mas segundos en ser procesada se produce un error. El valor predeterminado es 90 segundos. Ejemplo <% Server.ScriptTimeout = 25 %> METODOS CreateObject (id_objeto) Este es uno de los metodos mas importantes y nos permite crear objetos a partir de los cuales vamos a trabajar. Como unico parametro se especifica el nombre del objeto a crear. Al crear el objeto este se le asigna a la variable establecida por medio de la palabra clave SET, esta variable hereda todos los metodos, propiedades y eventos del objeto creado. Ejemplo <% Set BDD = Server.CreateObject("ADODB.Connection") %> Execute (path) Este metodo ejecuta una pagina ASP dentro de otra, su unico parametro es la ruta de la pagina a ejecutar. Este metodo solo esta disponible en la version 3.0 de ASP.

Ejemplo ----------pagina_llama.asp------<HTML> <BODY> Hola <%Server.Execute("respuesta.asp")%> ! </BODY> </HTML> ----------respuesta.asp---------<% Response.Write "Pedro" %> HTMLEncode (cadena) Este metodo evita que la cadena pasada como parametro sea interpretada como lenguaje HTML. Ejemplo <% Response.Write Server.HTMLEncode("<b>sin negrita</b>") %> MapPath (path) Devuelve la ruta completa del archivo pasado como parametro. Ejemplo <% Response.Write Server.MapPath("calendario\dias.asp") %> Bases de Datos - Utilizando ASP y Bases de Datos Access. Esta es una breve explicacion de como utilizar ASP para tener acceso a una base de datos, lo primero que debemos crear es la base de datos, en este caso de Access con el nombre de 'temas.mdb', ahora dentro de esta base de datos crearemos una tabla llamada 'TemasMusicales' y que tenga los siguientes campos... TIPOS DE DATOS Id Autonumerico Titulo Texto Genero Texto Ingresale algunos datos para poder utilizarla. Bueno ya tenemos la base de datos con informacion adentro, lo que vamos a hacer ahora es desde ASP ver todo el contenido de la tabla que hemos creado. Para ello creamos un archivo ASP con el nombre 'muestra_temas.asp' y en su interior agregamos el siguiente codigo... <% Dim BDD ' variable que se encargara de la base de datos Dim TABLA ' variable que se encarga de la tabla 'creamos los objetos que manejan la base de datos y la tabla Set BDD = Server.CreateObject("ADODB.Connection") Set TABLA = Server.CreateObject("ADODB.Recordset") 'abrimos la base de datos BDD.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("temas.mdb")) 'abrimos la tabla TABLA.Open "TemasMusicales", BDD ' indicamos el nombre de la tabla y la base de datos 'ahora recorremos toda la tabla y mostramoslos datos While NOT TABLA.EOF 'recorre la tabla hasta que EOF sea verdadero Response.Write "titulo:" & TABLA("Titulo") & "<br>" Response.Write "genero:" & TABLA("Genero") & "<br>" Wend 'cerramos todo y liberamos los objetos TABLA.Close BDD.Close Set BDD = Nothing Set TABLA = Nothing %>

5.- Objeto Session


Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, el mismo sirve para compartir informacion de un usuario entre las paginas del sitio. Por defecto el objeto session se crea al ingresar el usuario a nuestro sitio y se destruye cuando lo abandona o cuando pasan 20 minutos sin actividad del usuario.

PROPIEDADES SessionID Esta propiedad devuelve un ID que identifica a un usuario. Este ID es unico, no se puede modificar y lo crea automaticamente el servidor. Ejemplo <% Response.Write "ID Session = " & Session.SessionID %> Timeout Esta propiedad determina el tiempo en minutos que durara la sesion del usuario antes de ser destruida, por defecto su valor es de 20 minutos. Ejemplo <% Session.Timeout = 30 %> METODOS Abandon Este metodo proboca el abandono forzado de la session, destruye todas la variables de sesion . Ejemplo <%Session.Abandon %>
VARIABLES DE SESION

Una utilidad muy buena que nos permite el objeto session es crear variables y poder compartirlas en todas la paginas de nuestro sitio algo asi como una variable global pero con una diferencia bastante grande dado que cada usuario que ingrese a nuestra pagina tendra un valor distinto en cada variable. En el ejemplo que sigue a continuacion se muestra la forma de uso. Ejemplo ----------pagina_1.asp------<HTML> <BODY> <%Session("Dia") = "Lunes"%> </BODY> </HTML> ----------pagina_2.asp---------<% Response.Write Session("Dia") %>

El archivo Global.asa El archivo Global.asa es un fichero de texto situado en el directorio raiz de


nuestro servidor Web, es decir, en el directorio de comienzo de nuestras pginas.Es un archivo de comandos que nos permite la automatizacin de los cuatro eventos bsicos de nuestro servidor.La estructura es siempre la misma: <SCRIPT LANGUAGE="VBScript" Sub Session_OnStart RUNAT="Server"> ........ Sub Application_OnStart End Sub ........ Sub Session_OnEnd End Sub ........ Sub Application_OnEnd End Sub ........ </SCRIPT> End Sub Eventos: Application_OnStart El evento Application_OnStart se ejecuta antes de que se cree la primera nueva sesin; es decir justo cuando el primer cliente pide una pagina de nuestro servidor. Application_OnEnd El evento Application_OnEnd se ejecuta cuando la aplicacin termina. Session_OnStart El evento Session_OnStart se ejecuta cuando el servidor crea una nueva sesin; esta secuencia de comandos es ejecutada antes de enviar la pgina solicitada al cliente. Session_OnEnd El evento Session_OnEnd se ejecuta cuando se abandona o se supera el tiempo de espera de una sesin. Ejemplo de Global.asa <SCRIPT LANGUAGE="VBScript" application("tabla")=mitabla RUNAT="Server"> End Sub Sub Application_OnStart Sub Application_OnEnd dim mitabla() End Sub redim mitabla(9) Sub Session_OnStart

paginaInicio="/ appl/index.html" response.redirect paginaInicio End Sub

Sub Session_OnEnd End Sub </SCRIPT>

Cookies
Las cookies son el mecanismo que nos permite guardar informacin relativa a un usuario a lo largo de sus distintos accesos a nuestras pginas.Nos permite integrar funcionalidades como:

Las cookies se almacenan en los equipos de los clientes, esto hay que tenerlo en cuenta por las posibles faltas de integridad de datos que pudieran ocurrir. ASP implementa la posibilidad de usar cookies para crear o destruir informacin que se almacena en los equipos de los clientes. Las cookies se transmiten en las cabeceras cuando se realiza la comunicacin http y es el navegador el encargado de almacenarlas. Las cookies se implementan como una coleccin y se usan mediante los objetos integrados Request y Response. Tiempo de vida de una cookie Por defecto una cookie tiene un mbito de sesin, es decir, tiene de vida el tiempo en que esta activo el navegador. Podemos variar el tiempo de vida de una cookie mediante el atributo expires. Sintaxis: Response.Cookies(cookie)[(clave)|.atributo] = valor Request.Cookies(cookie)(clave) Ejemplos: Enviar una cookie simple <% Response.cookies("color")="morado" %> Recuperar el valor de esa cookie <% ColorFavorito=Request.cookies("color")%> Enviar una cookie con claves <% Response.cookies("color")("fondo")="morado"%> <% Response.cookies("color")("texto")="blanco"%> Recuperar una cookie con claves <% Request.cookies("color")("fondo")%> Nos recuperara el valor morado <% Request.cookies("color")("texto") %> Nos recuperara el valor blanco Nota: Cuando usamos Response para escribir una cookie, si esta ya exista se sobrescribe. Atributos: Expires Establece el da de caducidad de una cookie Ejemplos: Hacer que una cookie caduque inmediatamente <% Response.cookies(cookie).expires="1/1/1990"%> Hacer que una cookie caduque cierto da <% Response.cookies(cookie).expires="12/12/2000"%>

Componentes ActiveX
Los componentes ActiveX se han diseado para que se ejecuten en el servidor Web como parte de las aplicaciones Web, proporcionan funcionalidad a las aplicaciones, como el acceso a ficheros, Bases de datos, etctera. Existen componentes ActiveX para tareas muy diversas, en esta pginas mostraremos como operar con algunos de los que se incluyen por defecto en la instalacin de ASP. Adrotator Insercin de publicidad rotatoria FileSystemObject Acceso a ficheros en el servidor TextStream Acceso a ficheros en el servidor ActiveX Data Object Acceso a bases de datos

Componente ADRotator El componente ADRotator automatiza la rotacin de imgenes de anuncio en una pgina Web. Cada vez que un cliente abre o recarga la pgina este componente presenta una nueva imagen segn las definiciones especificadas en un archivo. Archivos necesarios: Archivo Rotator Schedule: es un archivo de texto que contiene la agenda de presentacin de los anuncios. Archivo de redireccin: es un archivo .asp que implementa la redireccin a la URL anunciante. Creacin del objeto AdRotator <% Set Rotacion=Server.CreateObject("MSWC.AdRotator") %> Propiedades: Border Permite especificar si los anuncios se presentan enmarcados. <% objeto.border=tamao %> Clickable Permite especificar si los anuncios se presentan como hipervinculos. <% objeto.clickable= True o False %> TargetFrame Permite especificar el marco de destino del hipervinculo. <% objeto.TargetFrame= nombre del marco destino %> Metodos: GetAdvertisement Recupera el siguiente anuncio del fichero Schedule. Sintaxis Objeto.GetAdvertisement (url del fichero Shedule) Estructura del fichero ScheduleEl fichero Schedule esta dividido en 2 secciones separadas por un asterisco "*". La primera seccin es la especifica los parmetros comunes para todas las imgenes que se muestren; la segunda los ficheros , localizaciones y parmetros propios de cada una de las imagenes. Sintaxis de la primera seccin: REDIRECT Especifica la url que se encargara de hacer la redireccin, generalmente una pgina .asp. WIDTH Ancho en pxel del anuncio HEIGHT Alto en pxel del anuncio BORDER Ancho en pxel del borde del anuncio Sintaxis de la segunda seccin: Url de la imagen a mostrar Url de la pagina a redireccionar Texto alternativo de la imagen Ponderacin de apariciones del anuncio con respecto del total Ejemplo: REDIRECT /util/redirect.asp WIDTH 300 HEIGHT 50 BORDER 2 * /imagenes/logo1.gif http://www.transcontinental.com El viaje de tus sueos 20 /imagenes/logo5.jpg http://www.pastelito.fr Dulces de calidad 30 Ejemplo de fichero de redireccin <% response.redirect (request.querystring("url")) %> Ejemplo de una pgina completa

<html> <head><title>Uso de AdRotator</title></head> <body><h2>Uso de AdRotator</h2> <% Set Rotacion=Server.CreateObject("MSWC.AdRotator") %> <=% Rotacion.GetAdvertisement("adrot.txt") %> </body> </html>

Componente FileSystemObject
El componente FSO nos permite abrir y crear ficheros de texto en el servidor. Este componente consta de 22 mtodos, de los cuales podemos seleccionar 2 que son los que nos van a permitir leer o escribir en archivos de texto existentes en el servidor o crear dichos archivos. Para crear un objeto FSO la sintaxis es la misma que para cualquier otro componente ActiveX <% Set MiFSO=Server.CreateObject("Scripting.FileSystemObject") %> Cuando abrimos o creamos un fichero de texto mediante FSO este nos devuelve una instancia del objeto TextStream que es la que representa el archivo fsico y con la cual trabajaremos. Metodos: CreateTextFile Crea un archivo fsico y devuelve la instancia de TextStream con la cual trabajaremos. Sintaxis <% Set MiFichero=MiFSO.CreateTextFile("Nombre Fichero",Sobreescribir") %> Nombre Fichero Nombre del fichero a crear. Sobreescribir Admite los valores TRUE o FALSE, si el fichero ya existe y el valor dado es TRUE se crea de nuevo, si no , devuelve un error. OpenTextFile Abre un archivo fsico y devuelve la instancia de TextStream con la cual trabajaremos. Sintaxis <% Set MiFichero=MiFSO.OpenTextFile("Nombre Fichero",modo,crear") %> Nombre Fichero Nombre del fichero a abrir. Modo Indica si queremos abrir el fichero para lectura (1) , para escritura (2) o para escribir nuevos registros al final del fichero(8) Crear Admite los valores TRUE o FALSE, si el fichero no existe y el valor dado es TRUE se crea. Ejemplo: Apertura de fichero para lectura: <% Set MiFichero=MiFSO.OpenTextFile("c:\Fichero_nuevo.txt",1,true") %> Pginas Active Server - ASP http://usuarios.tripod.es/smaug 33 Objeto TextStream El objeto TextStream nos sirve para manejar ficheros de texto en el servidor. La creacin de este objeto se realiza a partir de un objeto FileSystemObject y gracias a alguno de sus mtodos. Una vez creado, disponemos de un objeto TextStream que representa un archivo fsico abierto, ya sea para lectura o escritura. Este objeto dispone de 9 mtodos: Metodos: Close Cierra el archivo. Sintaxis <% MiFichero.close%> Read Lee y devuelve un numero especifico de caracteres.

Sintaxis <% MiFichero.read(numero de caracteres) %> ReadAll Lee y devuelve un archivo completo. Sintaxis <% MiFichero.ReadAll %> ReadLine Lee y devuelve una lnea completa de un archivo de texto. Sintaxis <% MiFichero.ReadLine%> Skip Salta un numero determinado de caracteres al leer un archivo. Sintaxis <% MiFichero.Skip(numero de caracteres) %> Pginas Active Server - ASP http://usuarios.tripod.es/smaug 34 SkipLine Salta una lnea al leer un archivo. Sintaxis <% MiFichero.SkipLine %> Write Escribe una cadena de caracteres en un archivo. Sintaxis <% MiFichero.Write("texto_entre_comillas") %> WriteLine Escribe una cadena de caracteres en un archivo aadiendo al final un carcter de fin de linea. Sintaxis <% MiFichero.WriteLine("texto_entre_comillas") %> WriteBlankLines Escribe un numero especifico de caracteres de nueva lnea. Sintaxis <% MiFichero.WriteBlankLines(numero_de_lineas) %> Ejemplo de escritura en un archivo <HTML> <HEAD><TITLE>Ejemplo de FSO y TextStream</TITLE></HEAD> <BODY> <% Set Mfso=Server.CreateObject("Scripting.FileSystemObject") Set MArchivo=Mfso.OpenTextFile("c:\fecha.txt",2,true) MArchivo.writeline "Hola Mundo, hoy es:" MArchivo.write date() MArchivo.close %> Creado archivo en C:\fecha.txt con la fecha de hoy </BODY> </HTML>

Fuentes de datos ODBC


Utilidad general de Windows NT.Permite que las aplicaciones accedan a los datos a travs usando SQL como lenguaje estndar.Se administran a travs de la ventana ODBC del Panel de Control. Se pueden configurar tres diferente fuentes de datos ODBC, la forma ms interesante es la de DSN del Sistema, que presenta la ventaja de poder ser accedida por cualquier usuario,siendo el tipo usado en aplicaciones ASP.Configuracin

de una fuente de datos En este ejemplo declaramos una base de datos Access, el procedimiento es prcticamente igual para cualquier otra tecnologa de bases de datos. Para declarar una base de datos ODBC haremos doble clik en el icono Fuentes de Datos ODBC que encontraremos en el panel de control de Windows (Inicio->Configuracin->Panel de Control), una vez abierto el programa nos situaremos en la pestaa DSN de Sistema

Pulsaremos el botn AGREGAR para aadir una nueva fuente de datos, lo que nos llevara a la pantalla de controladores.

En esta ventana elegiremos el driver adecuado para la tecnologa de la base de datos que queremos tratar desde nuestras pginas ASP y pulsaremos finalizar. La siguiente pantalla que se nos muestra nos pedir la ubicacin fsica de nuestra base de datos y el nombre ODBC con el que queremos acceder a ella.

Nombre de origen de datos: Es el nombre simblico de nuestra base de datos, ser el que utilicemos desde ASP para referirnos a ella. Descripcin: Es una descripcin de la base de datos Base de datos: Es el camino fsico de la base de datos, para establecerlo pulsaremos el botn SELECCIONAR y mediante un explorador elegiremos nuestra fuente de datos. Una vez hecho esto pulsaremos el botn ACEPTAR y ya tendremos nuestra base de datos disponible para su uso desde nuestras aplicaciones Web. NOTA: Si nuestro sistema operativo es NT y declaramos una base de datos ACCESS debemos de tener en cuenta que ACCESS crea en el mismo directorio de la base de datos un fichero con extensin .ldb cuando cualquier usuario interacta con la base de datos.Ello nos obliga a dar derechos suficientes al usuario de IIS (IUSR_Nombre del equipo) para manipular el directorio de la base de datos. ActiveX Data Object Una de las caractersticas mas interesantes de ASP es su facilidad para el manejo de bases de Datos que residen en el servidor. Esto lo conseguimos mediante el uso de ADO (ActiveX Data Object) de una forma fcil, rpida y con un mnimo consumo de recursos del sistema. ADO usa ODBC para el acceso a bases de datos. lo que nos independiza de la tecnologa de las mismas; esto implica que podemos cambiar la tecnologa de la base de datos y si mantenemos la misma estructura de datos, nuestras aplicaciones desarrolladas con ADO pueden seguir funcionando sin cambiar ni una sola lnea de cdigo.Para desarrollo podemos crear nuestras fuentes de datos en Microsoft Access, pero en entornos de produccin con gran afluencia de clientes deberemos de usar gestores de bases de datos mas potentes, como Oracle, Microsoft Sql Server, etctera. ADO esta formado por varios objetos organizados de forma jerrquica (cada uno de ellos con sus mtodos y propiedades especficos) de los cuales vamos a estudiar los que considero mas interesantes.

Objetos: Connection Nos proporciona una conexin a una base de datos ODBC desde una pgina ASP. Esta conexin nos permitir efectuar las operaciones que deseemos sobre la base de datos. Es el objeto primario de ADO, ninguno de los otros objetos puede existir si este no es

declarado de forma explicita o implcita (en algunos de los ejemplos veremos que no existe una declaracin del objeto Connection, pero debemos de tener en cuenta que siempre existe, si es necesario ADO lo declarar por si mismo). La conexin terminar cuando nosotros la cerremos explcitamente con el mtodo close o bien cuando termine la ejecucin de la pgina ASP. Error Es una coleccin en la que se almacenaran los posibles errores del objeto Command Representa un comando SQL que se ejecuta contra la base de datos declarada en el objeto Connection. Si el resultado de ese comando es un conjunto de datos, estos se almacenaran en un objeto de tipo Recordset. Recordset Representa una tabla o el resultado de una consulta ejecutada contra la base de datos. Va a ser nuestro interface natural contra la base de datos.Como en todo modelo relacional, los datos se nos presentaran en filas y columnas. Field El objeto Field representa la informacin relativa a un campo de un Recordset. Contiene la coleccin Fields que representa todos los campos de la tabla, cada miembro de esa coleccin es un objeto de tipo Field. Objeto Connection (propiedades y metodos) Hemos comentado que el objeto Connection nos proporciona una conexin a una base de datos desde una pgina ASP; ahora vamos a ver como se usa , as como sus propiedades y mtodos. Para establecer la conexin lo primero que hacemos es crear el Objeto Connetion por medio de la propiedad CreateObject de objeto Server: <% Set conexin=Server.CreateObject("ADODB.Connection")%> Una vez establecida la instancia del objeto pasamos a configurarlo mediante sus distintas propiedades y mtodos. Propiedades: ConnectionString Especifica la referencia a la base de datos con la cual queremos conectar, conteniendo en una cadena de texto la informacin necesaria para efectuar esa conexin mediante parejas de valores separadas por ";". Los valores que podemos asignar son: Data Source: DSN=Nombre ODBC de la Base de Datos Usuario: User=Nombre de Usuario Password: Password=Password del usuario para la base de datos Ejemplo: <% conexion.ConnectionString="DSN=MIOdbc;User=pepe;Password=1234" %> Mode Especifica los permisos de la conexin. Algunos de los valores mas habituales que podemos asignar son: 1 Establece permiso solo de Lectura 2 Establece permiso solo de Escritura 3 Establece permiso de Lectura/Escritura Ejemplo: <% conexion.Mode=3 %> Metodos: BeginTrans Abre una transaccin; todas las operaciones que realicemos a partir de ese momento no sern efectivas hasta que no cerremos la transaccin. Ejemplo: <% conexion.BeginTrans %> Close Cierra el objeto Ejemplo: <% conexion.close %> CommitTrans Cierra una transaccin haciendo efectivos los cambios efectuados dentro de ella. Ejemplo: <% conexion.CommitBeginTrans %> Execute Ejecuta una sentencia SQL contra la base de datos. Ejemplo: <% Set resultado=conexion.execute (Select * from amigos) %> Open Abre la conexin con los parmetros especificados en las propiedades. Ejemplo: <% conexion.open %> RollBackTrans Desace todos los cambios efectuados en la base de datos desde el inicio de la transaccin. Ejemplo: <% conexion.RollBackTrans %>

Objeto Error (propiedades y mtodos)


El objeto Error contiene la coleccin Errors, que es la encargada de almacenar los errores que se pudieran producir durante la ejecucin de operaciones contra Bases de Datos. Propiedades: Description Descripcin del error. Number El numero de error. SQLState Cdigo de error SQL. Metodos: Clear Elimina los datos del objeto Error. Ejemplo: Examinando los posibles datos de la coleccin Errors ....... ....... Miconexion.open If Miconexion.Errors.Count > 0 then For each error in Miconexion.errors then Response.write Error.Number & " = "& Error.Description next End if Nota: Count es una propiedad de la coleccin Errors.

Objeto RecordSet
El objeto Recordset es el interface entre los datos obtenidos de nuestras consultas sobre las tablas y nuestras pginas asp. Representa una tabla organizada en filas (registros) y columnas (campos). La propiedades y mtodos de Recordset son muchos, en este capitulo vamos a ver las mas interesantes, para hacerlo un poco mas sencillo de entender vamos a verlos agrupados por la funcionalidad que nos ofrecen. Definicin del tipo de Cursor Entendemos como cursor el puntero que nos permite desplazarnos por los registros del recordset. Dependiendo del tipo elegido determinaremos los desplazamientos y cambios realizables en los datos.El tipo de cursor lo definiremos mediante la propiedad CursorType, los posibles valores son: adOpenForwardOnly (0) Es el cursor por defecto, solo nos permite recorrer la tabla de forma secuencial (no se puede volver hacia atrs) y no permite modificaciones en los registros. Por contra es el de menos consumo. No vemos los cambios realizados en la tabla por otro recordset. adOpenKeyset (1) Nos permite movernos en los dos sentidos, si permite modificaciones en los registros. Vemos los cambios realizados en la tabla por otro recordset a excepcin de las nuevas altas. adOpenDynamic (2) Nos permite movernos en los dos sentidos, si permite modificaciones en los registros. Vemos Todos los cambios realizados en la tabla por otro recordset. adOpenStatic (3) Nos permite movernos en los dos sentidos, no permite modificaciones en los registros. No vemos los cambios realizados en la tabla por otro recordset. Definicin del tipo de Cerrojo Entendemos como cerrojo el tipo de bloqueo que efectuaremos en la base de datos cuando modifiquemos un recordset, a fin de evitar que dos o mas usuarios accedan a modificar un mismo registro a la vez. El tipo de cerrojo lo definiremos mediante la propiedad LockType, los posibles valores son: adLockReadOnly (1) Es el defecto; no permite al usuario modificar los datos de la tabla. adLockPessimistic (2) Cuando se abra la tabla nadie mas podr hacerlo, este modo nos asegura la plena integridad de los datos. adLockOptimistic (3) Cierra la tabla a los dems usuarios cuando se invoque al mtodo Update del objeto recordset; de este modo la Base de datos quedar bloqueada menos tiempo que con el mtodo anterior. Ejemplo de definicin de un recordset para actualizar datos: Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3

Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3%> set rs=createobject("ADODB.Recordset") rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic Movindose por los datos del RecordSet Mtodos usados: Mtodo Caractersticas Move Num_registros Mueve el cursor Num_registros hacia abajo si es positivo y hacia arriba si es negativo MoveFirst Mueve el cursor al primer registro del Recordset MoveLast Mueve el cursor al ultimo registro del Recordset MoveNext Mueve el cursor un registro hacia adelante MovePrevious Mueve el cursor un registro hacia atrs Propiedades usadas: Propiedades Caracteristicas Establece el numero de registros por pgina del recordset PageSize rs.Pagesize=10 Mueve el cursor al primer registro de dicha pgina (es necesario definir anteriormente el pageSize) AbsolutePage rs.AbsolutePage=2 Contiene el numero de pginas del recordset, tomando como base PageSize PageCount xx=rs.PageCount Mueve el cursor al num_registro especificado Absoluteposition rs.Absoluteposition=17 Contiene el numero de registros del recordset; Nota: No funciona con el cursor adOpenForwardOnly RecordCount xx=rs.recordcount BOF Toma el valor True cuando estamos en el primer registro del recordset EOF Toma el valor True cuando estamos en el ultimo registro del recordset Modificando los datos Mtodos usados: Metodo Caracteristicas Abre un nuevo registro en el recordset para introducir datos AddNew rs.Addnew rs("codigo")=1234 rs("titulo")="Todo sobre ASP" rs.Update Delete Elimina el registro actual Actualiza un registro del recordset tras haberlo modificado Update rs("titulo")="Como hacerse rico en 10 minutos" rs.Update Abriendo y cerrando el recordset Mtodos usados: Metodo Caracteristicas Abre el recordset y almacena en el el resultado de sql contra la conexion

Open Sql, conexion set rs=createobject("ADODB.Recordset") rs.CursorType = 1 rs.LockType = 3 Sqltxt="SELECT * FROM libros" rs.open Sqltxt, "DSN=Biblioteca" Close Cierra el recordset Ejemplo de listado de un Recordset: Listado.asp <%SQLtxt = "SELECT Producto, Cantidad, Precio FROM almacen set rs = CreateObject("ADODB.Recordset") rs.Open SQLtxt, "DSN=Mibase"%> <table> <% Do While NOT rs.EOF%> <tr> <td><% = rs("Producto")%></td> <td><% = rs("Cantidad")%></td> <td align="right"><% = FormatCurrency(rs("Precio"))%></td> </tr> <% rs.MoveNext Loop rs.Close </table> %>

Anda mungkin juga menyukai