manual basico asp

95
ASP Tutorial Active Pa Nivel Inicio Introd Softw IIS Sintax Variab Tipos Nivel In Objet Integr ASP A R R S S Globa Cooki Comp Active A FS T Ejemp código Acceso de D B.D. O Active Objec C E R C Fi Ejemp código Sorry, your browser doesn't support Java(tm). Visitas desde el 11-02-2000: Active Server Pages Esta pequeña guía de ASP está pensada tanto a quien desee construir su propia aplicación Web partiendo desde los conceptos iniciales, como a quien quiera ampliar sus conocimientos. Novedades: 14-02-2000 Ejemplos de listado con ADO 14-02-2000 Paginación de registros con ADO 16-02-2000 Introduccion a ADO 18-02-2000 Ejemplo de consulta sencilla con ADO 20-02-2000 He conseguido un servidor para publicar los ejemplos, podréis ver el ejemplo funcionando pulsando: 26-02-2000 ¿Tienes Preguntas? ¿Y respuestas? pásate por: Los Foros de La Cueva 28-02-2000 El Objeto Connection 01-02-2000 El Objeto Error 09-04-2000 El Objeto Recordset 27-04-2000 Inserción de datos en tablas 28-04-2000 Modificación de datos en tablas 28-05-2000 Modulo de pruebas de formularios 11-07-2000 Nuevos ejemplos de Nivel Intermedio 12-07-2000 Como imprimir desde un enlace 12-07-2000 Como bloquear el boton derecho del raton Requisitos previos: Como requisito previo a la programación de páginas activas son necesarios conocimientos básicos del Lenguaje HTML El tutorial esta dividido en 3 secciones: 1. Nivel Básico: Se comenta la arquitectura en que se basan las aplicaciones ASP y como crear el entorno de ejecución. Se introducen los conceptos básicos de programación basados en VBScript y se crean las primeras páginas interactivas. 2. Nivel Intermedio: Se procede al estudio y aplicación de los objetos integrados de ASP, así como a la file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/index.html (1 of 2) [14/11/2002 18:04:49]

Upload: jose-antonio-espino-lopez

Post on 28-Mar-2016

242 views

Category:

Documents


0 download

DESCRIPTION

Este docuemnto Contiene infromacion relacionado a la aplicacion de Tecnoligias de internet especialmente la programacion basica en ASP

TRANSCRIPT

Page 1: Manual Basico ASP

ASP Tutorial

Active Server Pages

Nivel BásicoInicio

Introducción

Software

IIS

Sintaxis

Variables y Tipos

Nivel IntermedioObjetos Integrados en ASP

Application

Request

Response

Server

Session

Global.asa

Cookies

Componentes ActiveX

AdRotator

FSO

TextStream

Ejemplos de código

Acceso a Bases de Datos

B.D. ODBC

ActiveX Data Objects

Connection

Error

RecordSet

Command

Field

Ejemplos de código

Sorry, your browser doesn't support Java(tm).

Visitas desde el 11-02-2000:

Active Server Pages

Esta pequeña guía de ASP está pensada tanto a quien desee construir su propia aplicación Web partiendo desde los conceptos iniciales, como a quien quiera ampliar sus conocimientos.

Novedades:

● 14-02-2000 Ejemplos de listado con ADO● 14-02-2000 Paginación de registros con ADO● 16-02-2000 Introduccion a ADO● 18-02-2000 Ejemplo de consulta sencilla con ADO● 20-02-2000 He conseguido un servidor para publicar los ejemplos, podréis ver el ejemplo

funcionando pulsando:

● 26-02-2000 ¿Tienes Preguntas? ¿Y respuestas? pásate por:

Los Foros de La Cueva

● 28-02-2000 El Objeto Connection● 01-02-2000 El Objeto Error● 09-04-2000 El Objeto Recordset● 27-04-2000 Inserción de datos en tablas● 28-04-2000 Modificación de datos en tablas● 28-05-2000 Modulo de pruebas de formularios● 11-07-2000 Nuevos ejemplos de Nivel Intermedio● 12-07-2000 Como imprimir desde un enlace● 12-07-2000 Como bloquear el boton derecho del raton

Requisitos previos: Como requisito previo a la programación de páginas activas son necesarios conocimientos básicos del Lenguaje HTML

El tutorial esta dividido en 3 secciones:

1. Nivel Básico: Se comenta la arquitectura en que se basan las aplicaciones ASP y como crear el entorno de ejecución. Se introducen los conceptos básicos de programación basados en VBScript y se crean las primeras páginas interactivas.

2. Nivel Intermedio: Se procede al estudio y aplicación de los objetos integrados de ASP, así como a la

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/index.html (1 of 2) [14/11/2002 18:04:49]

Page 2: Manual Basico ASP

ASP Tutorial

declaración y uso de otros objetos ActiveX de propósito general como el FSO que nos permite leer y escribir ficheros de texto en el servidor o el ADrotator que nos permite la inclusión de publicidad rotatoria en nuestras página Web.

3. Acceso a Bases de Datos: En esta sección se profundiza en lo que es tal vez el aspecto mas interesante de la programación ASP, el acceso a Bases de Datos a través de ADO (ActiveX Data Object). Podremos efectuar consultas y actualizar tablas de prácticamente cualquier base de datos, lo que nos posibilitará el desarrollo de autenticas aplicaciones Web totalmente interactivas.

Todas los capítulos del tutorial incluyen ejemplos prácticos de los conceptos expuestos.

Observaras que hay opciones en el menú que aun no están desarrolladas, estoy en ello, un poquito de paciencia.

Nota: Aun no existe una versión del tutorial para descargar , en cuanto lo acabe os aseguro que la pongo.

Para cualquier sugerencia estaré encantado de recibir tu correo.

También puedes dejar un mensaje en mi Libro de Visitas

Menciones y reseñas

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/index.html (2 of 2) [14/11/2002 18:04:49]

Page 3: Manual Basico ASP

ASP Introducción

Colabora en el mantenimiento de estas páginas, haz clik en el logo

ActiveX Data Object

Una de las características 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 fácil, rápida y con un mínimo consumo de recursos del sistema.

ADO usa ODBC para el acceso a bases de datos. lo que nos independiza de la tecnología de las mismas; esto implica que podemos cambiar la tecnología 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 línea de código.

Para desarrollo podemos crear nuestras fuentes de datos en Microsoft Access, pero en entornos de producción con gran afluencia de clientes deberemos de usar gestores de bases de datos mas potentes, como Oracle, Microsoft Sql Server, etc.

ADO esta formado por varios objetos organizados de forma jerárquica (cada uno de ellos con sus métodos y propiedades específicos) de los cuales vamos a estudiar los que considero mas interesantes.

Objetos:

Connection

Nos proporciona una conexión a una base de datos ODBC desde una página ASP. Esta conexión nos

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ado.htm (1 of 3) [14/11/2002 18:05:17]

Page 4: Manual Basico ASP

ASP Introducción

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 implícita (en algunos de los ejemplos veremos que no existe una declaración del objeto Connection, pero debemos de tener en cuenta que siempre existe, si es necesario ADO lo declarará por si mismo).

La conexión terminará cuando nosotros la cerremos explícitamente con el método close o bien cuando termine la ejecución de la página ASP.

Propiedades y métodos del objeto Connection.

Error

Es una colección en la que se almacenaran los posibles errores del objeto Connection.

Propiedades y métodos del objeto Error.

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.

Propiedades y métodos del objeto Command.

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.

Propiedades y métodos del objeto Recordset.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ado.htm (2 of 3) [14/11/2002 18:05:17]

Page 5: Manual Basico ASP

ASP Introducción

Field

El objeto Field representa la información relativa a un campo de un Recordset.

Contiene la colección Fields que representa todos los campos de la tabla, cada miembro de esa colección es un objeto de tipo Field.

Propiedades y métodos del objeto Field.

Un poco lioso, verdad, no te preocupes al final todo es mucho mas fácil de lo que parece.

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ado.htm (3 of 3) [14/11/2002 18:05:17]

Page 6: Manual Basico ASP

ASP ADO Paginación de resultados

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Inserción de registros en una tabla

Este ejemplo nos permite insertar un registro en una tabla usando el objeto recordset.

Podéis ver el ejemplo funcionando en la aplicación

Los Foros de La Cueva

La primera página es un formulario que nos permite escribir el valor a actualizar.

Debemos prestar especial atención a las sentencias remarcadas en azul.

En el "action" especificaremos la pagina ASP que procesara los datos enviados desde el formulario, recibiremos el dato introducido en la caja de texto (input type="text") en la variable "foro"(name="foro")

Insertarforo.htm

<html><head><title>Crear un Nuevo Foro</title></head><body bgcolor="#CCFFCC"><p align="center"><font face="Verdana">Crear un nuevo Foro</font></p>

<form method="POST" action="nuevoforo.asp"><table border="1" width="100%"><tr><td width="100%" bgcolor="#008000"><font color="#FFFFFF">Nombre del Foro</font></td></tr><tr><td width="100%"><p align="center"><input type="text" name="foro" size="50"></p></td></tr></table><input type="submit" value="Enviar" name="B1"> <input type="reset" value="Restablecer" name="B2"></p></form></body></html>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOadd.htm (1 of 3) [14/11/2002 18:05:18]

Page 7: Manual Basico ASP

ASP ADO Paginación de resultados

Conseguimos un formulario con este aspecto

Nombre del Foro

Como los datos son enviados desde un formulario mediante el método "POST" debemos recibirlos en nuestra pagina ASP mediante un Request.form. Si este parámetro viene vacío lo que hacemos es generar una pagina html de error que mostramos al usuario.

Si el parámetro es correcto procederemos a introducir el nuevo valor en una tabla de nuestra base de datos. Lo primero es establecer nuestra conexión con la base de datos mediante el objeto Server.

NOTA: Podréis observar que en este caso la conexión ODBC la he efectuado por un método directo que me evita tener que declarar la base de datos como DSN del Sistema en ODBC . Los efectos son los mismos que si la hubiera declarado y la invocara por su nombre ODBC.

Luego creamos nuestro Objeto Recordset , le asignamos las propiedades necesarias para que nos permita actualizar (CursorType y LockType) y abrimos la tabla "foros" a través de la conexión establecida anteriormente con la base de datos.

Invocamos al método Addnew de Recordset para abrir sitio para un nuevo registro

Asignamos al campo "foro" el valor recibido del formulario

Invocamos al método Update de Recordset para confirmar el alta y cerramos el recordset.

Usamos un response.redirect para dirigir al usuario a otra pagina una vez que hemos terminado el trabajo de actualización.

Paginando.asp

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOadd.htm (2 of 3) [14/11/2002 18:05:18]

Page 8: Manual Basico ASP

ASP ADO Paginación de resultados

<%Const adOpenKeyset = 1Const adLockOptimistic = 3

foro=request.form("foro")if foro="" then %><html>

<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Error al insertar pregunta</title></head>

<body bgcolor="#CCFFCC">

<p align="center"><img border="0" src="images/titulo.jpg"></p>

<p align="center">Ningun campo puede estar en blanco,<a href="insertarforo.htm">inténtalo otra vez</a></p></body>

</html>

<%elseSet Conn = Server.CreateObject("ADODB.Connection")Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\xxxxx\db\myb.mdb"))

set rs=createobject("ADODB.Recordset")rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic

rs.open "foros",connrs.addnewrs("foro")=forors.updaters.closeresponse.redirect "foros.asp"end if%>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOadd.htm (3 of 3) [14/11/2002 18:05:18]

Page 9: Manual Basico ASP

ASP ADO Listado de registros

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Ejemplo de consulta sencilla con formulario

Este ejemplo nos permite listar el resultado de una select elaborada desde un formulario.

Suponemos que tenemos declarada en odbc una base de datos bajo la DSN de Sistema Biblioteca.

Esta base de datos contiene una tabla llamada libros con los campos Titulo y Autor.

El formulario nos presenta un formato para escribir el titulo que buscamos, este titulo se lo pasamos como parámetro a nuestra pagina .asp que nos mostrara todos los titulo coincidentes.

Fconsu.htm

<html>

<head>

<title>Formulario para consulta sencilla</title></head>

<body>

<h3 align="center">Ejemplo de consulta sencilla</h3><p>&nbsp;</p><form method="POST" action="consultasencilla.asp"><table border="1" width="100%"><tr><td width="16%">Titulo:</td><td width="84%"><input type="text" name="titulo" size="55"></td></tr><tr><td width="16%"><input type="submit" value="Enviar" name="B1"></td><td width="84%"><input type="reset" value="Restablecer" name="B2"></td></tr></table></form>

Consultasencilla.asp

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOcs.htm (1 of 2) [14/11/2002 18:05:18]

Page 10: Manual Basico ASP

ASP ADO Listado de registros

<html><head><title>Ejemplo de consulta sencilla</title></head><body bgcolor="#808000"><div align="center"><center><table border="1" width="62%" bgcolor="#008000"><tr><td width="100%"><p align="center"><font color="#FFFFFF">Resultados de su consulta</font></td></tr></table></center></div>

<%ctitulo=request.form("titulo")set rs=createobject("ADODB.Recordset")sqltxt="select titulo,autor from libros where titulo like '%"&ctitulo&"%'"rs.open sqltxt,"DSN=biblioteca" %><%if rs.eof then%><h3 align="center"><font color="#FF0000">No hay datos que coincidan con su petición </font></h3><%else%><table border="0" width="100%"><tr><th width="33%" valign="middle" align="center" bgcolor="#008080"><font color="#000000">Titulo</font></th><th width="33%" valign="middle" align="center" bgcolor="#008080"><font color="#000000">Autor</font></th></tr><%do while not rs.eof%><tr><td width="33%" valign="middle" align="center" bgcolor="#FFFFFF"><font color="#000000"><%=rs("Titulo")%></font></td><td width="33%" valign="middle" align="center" bgcolor="#FFFFFF"><font color="#000000"><%=rs("Autor")%></font></td></tr><%rs.movenextlooprs.closeend if%></table><p>&nbsp;</p><p align="center"><a href="fconsu.htm">Otra vez</a></p></body></html>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOcs.htm (2 of 2) [14/11/2002 18:05:18]

Page 11: Manual Basico ASP

ASP ADO Listado de registros

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Listado de registros

Este ejemplo nos permite listar el resultado de una select contra una tabla de nuestra base de datos.

Listado.asp

<html>

<head><title>Listado de registros</title></head>

<%SQLtxt = "SELECT Producto, Cantidad, Precio FROM almacen "%><body><%set rs = CreateObject("ADODB.Recordset")rs.Open SQLtxt, "DSN=Mibase"%>

<center><table border="0" width="32%" bgcolor="#C0C0C0"><tr><td width="100%"><p align="center"><b><big>Listado de registros</big></b></td></tr></table><h3></center><br></h3><table BORDER="1" CELLSPACING="0" BORDERCOLOR="#000000" CELLPADDING="2" width="100%"><tr><td BGCOLOR="#C0C0C0"><b>Nombre de producto</b></td><td BGCOLOR="#C0C0C0"><b>Cantidad</b></td><td BGCOLOR="#C0C0C0" align="right"><b>Precio</b></td></tr>

<%Do While NOT rs.EOF%>

<tr><td><%= rs("Producto")%></td><td><%= rs("Cantidad")%></td><td align="right"><%= FormatCurrency(rs("Precio"))%></td></tr>

<% rs.MoveNextLooprs.Close%>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOlista.htm (1 of 2) [14/11/2002 18:05:18]

Page 12: Manual Basico ASP

ASP ADO Listado de registros

</table></body></html>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOlista.htm (2 of 2) [14/11/2002 18:05:18]

Page 13: Manual Basico ASP

ASP ADO Paginación de resultados

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Modificación de un registro en una tabla

Este ejemplo nos permite modificar un registro en una tabla usando el objeto recordset.

Quiero suponer que si estas aquí, ya has leído y entendido el ejemplo anterior.

Para modificar un registro, lo primero que tenemos que hacer es recuperarlo de la tabla y posicionar en él el cursor (hablando en plata, hacer una select para recuperarlo y movernos por el recordset obtenido hasta situarnos en el).

Una vez situados en el registro a modificar asignaremos los valores que queramos poner en los campos a modificar con sentencias de asignación normales: rs("campo_a_modificar")="Nuevo_Valor"

Una vez asignados los valores, emplearemos el metodo Update de recordset para grabar las modificaciones en la tabla de la Base de Datos.

La tabla que usamos en el ejemplo consta de 2 campos:

TABLA IMPACTOS

codigo Clave principal de la tabla de tipo autonumerico (Nota: los valores a los campos autonumericos los asigna directamente el mismo Gestor de Bases de Datos)

contador Campo numérico

El ejemplo que os muestro realiza una select contra la tabla seleccionando por el campo clave cuyo valor se supone que recibimos desde un formulario (no creo que haga falta decir que los campos clave no se repiten, así que nos seleccionara un solo registro o bien, si ese registro no existe nos devolverá un recordset vació).

En el caso de que encuentre el registro le sumara 1 al valor que ya existía en el campo "contador" , si no es asi y el registro no existia, creara un nuevo registro asignando el valor 1 al campo "contador" (como ya hemos comentado antes al campo "codigo" no hace falta asignarle ningún valor, se lo asigna directamente el

Gestor de B.D.)

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOmod.htm (1 of 2) [14/11/2002 18:05:19]

Page 14: Manual Basico ASP

ASP ADO Paginación de resultados

Actualizar.asp

<%Const adOpenKeyset = 1Const adLockOptimistic = 3

codigo=request.form("codigo")Set Conn = Server.CreateObject("ADODB.Connection")Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\xxxxx\db\myb.mdb"))set rs=createobject("ADODB.Recordset")rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic

sqltxt="SELECT * from impactos where codigo="&codigo rs.Open sqltxt, conn

if rs.eof then rs.Addnew rs("impactos")=1 rs.Update else rs("impactos")=rs("impactos")+1 rs.updateend if rs.close

response.redirect "otrositio.html" %>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOmod.htm (2 of 2) [14/11/2002 18:05:19]

Page 15: Manual Basico ASP

ASP ADO Paginación de resultados

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Paginación de registros

Este ejemplo nos permite paginar en bloques de registros el resultado de una select contra una tabla de nuestra base de datos.

Paginando.asp

<!-- #include file="adovbs.inc" --><html>

<!-- recibimos del formulario la dirección del movimiento ylo guardamos en una variable de sesión para este usuario -->

<%xx=request.form("direccion")if xx = "Atras" then session("pagina")=session("pagina")-1

if session("pagina")< 1 then session("pagina")=1 'evitamos el error por reloadend if

else if xx="Adelante" then session("pagina")=session("pagina")+1elsesession("pagina")=1 'primera pasadaend if end if%>

<head><title>Paginación de registros</title></head>

<!-- Montamos la sentencia SQL con los campos a seleccionar -->

<%SQLtxt = "SELECT Producto, Cantidad, Precio FROM almacen"%>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOpagina.htm (1 of 4) [14/11/2002 18:05:19]

Page 16: Manual Basico ASP

ASP ADO Paginación de resultados

<body>

<!-- Creamos el objeto recordset y le asignamos un tipo de cursorque nos permita movernos por el y asignarle tamaños de pagina -->

<%set rs = CreateObject("ADODB.Recordset")rs.CursorType = adOpenstatic %>

<!-- abrimos el recordset con la sentencia SQL sobre nuestra baseODBC y le asignamos el tamaño de página -->

<%rs.Open SQLtxt, "DSN=Mibase"rs.pagesize=10

if session("pagina")>rs.pagecount thensession("pagina")=rs.pagecount 'evitamos el error de reloadend if%>

<!-- situamos el cursor en el inicio de la pagina a mostrar y calculamos los valores de inicio y fin para mostrarlos enlas cabeceras -->

<%rs.absolutepage=session("pagina")inicio=1+(session("pagina")-1)*rs.pagesizefin=inicio+9if fin > rs.recordcount thenfin =rs.recordcountend if%><center><h3>Paginación de registros</h3></center><table border="0" width="100%" bgcolor="#C0C0C0"><tr><td width="50%" align="center">Registros <font color="#FF0000"><%=inicio%> </font>al <font color="#FF0000"><%=fin%></font> de un total de<font color="#FF0000"><%=rs.recordcount%></font></td><td width="50%" align="center">Página <font color="#FF0000"><%=session("pagina")%></font> de <font color="#FF0000"><%=rs.pagecount%></font></td></tr></table><br><table BORDER="1" CELLSPACING="0" BORDERCOLOR="#000000" CELLPADDING="2" width="100%"><tr><td BGCOLOR="#C0C0C0"><b>Nombre de producto</b></td><td BGCOLOR="#C0C0C0"><b>Cantidad por unidad</b></td><td BGCOLOR="#C0C0C0" align="right"><b>Precio por unidad</b></td></tr>

<!-- montamos el bucle para mostrar los registros -->

<%contador=0Do While contador < rs.pagesize and NOT rs.EOF%>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOpagina.htm (2 of 4) [14/11/2002 18:05:19]

Page 17: Manual Basico ASP

ASP ADO Paginación de resultados

<tr><td><%= rs("Producto")%></td><td><%= rs("Cantidad")%></td><td align="right"><%= FormatCurrency(rs("Precio"))%></td></tr>

<% rs.MoveNextcontador=contador+1Loop%></table><div align="center"><center>

<!-- mostramos los botones de adelante y atras segun proceda -->

<table border="0" width="38%" height="5"><tr><%if session("pagina")<> 1 then %><td width="50%" height="1" align="center"><form method="POST" action="paginando.asp"><p><input type="submit" value="Atras" name="direccion"></p></form></td><%end if%><%if session("pagina")< rs.pagecount then%><td width="50%" height="1" align="center"><form method="POST" name="paginando.asp"><p><input type="submit" value="Adelante" name="direccion"></p></form></td><%end if%></tr></table></center></div>

<!-- cerramos el recordset -->

<%rs.Close%>

</body></html>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOpagina.htm (3 of 4) [14/11/2002 18:05:19]

Page 18: Manual Basico ASP

ASP ADO Paginación de resultados

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ADOpagina.htm (4 of 4) [14/11/2002 18:05:19]

Page 19: Manual Basico ASP

ASP Componente ADRotator

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Componente ADRotator

El componente ADRotator automatiza la rotación de imágenes de anuncio en una página Web. Cada vez que un cliente abre o recarga la página este componente presenta una nueva imagen según las definiciones especificadas en un archivo.

Archivos necesarios:

● Archivo Rotator Schedule: es un archivo de texto que contiene la agenda de presentación de los anuncios.

● Archivo de redirección: es un archivo .asp que implementa la redirección a la URL anunciante.

Creación del objeto AdRotator

<% Set Rotacion=Server.CreateObject("MSWC.AdRotator") %>

Propiedades:

Border

Permite especificar si los anuncios se presentan enmarcados.

<% objeto.border=tamaño %>

Clickable

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/adrotator.htm (1 of 4) [14/11/2002 18:05:20]

Page 20: Manual Basico ASP

ASP Componente ADRotator

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 Schedule

El fichero Schedule esta dividido en 2 secciones separadas por un asterisco "*". La primera sección es la especifica los parámetros comunes para todas las imágenes que se muestren; la segunda los ficheros , localizaciones y parametros propios de cada una de las imagenes.

Sintaxis de la primera sección:

REDIRECTEspecifica la url que se encargara de hacer la redirección, generalmente una página .asp.

WIDTH Ancho en píxel del anuncio

HEIGHT Alto en píxel del anuncio

BORDER Ancho en píxel del borde del anuncio

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/adrotator.htm (2 of 4) [14/11/2002 18:05:20]

Page 21: Manual Basico ASP

ASP Componente ADRotator

Sintaxis de la segunda sección:

Url de la imagen a mostrar

Url de la pagina a redireccionar

Texto alternativo de la imagen

Ponderación de apariciones del anuncio con respecto del total

Ejemplo:

REDIRECT /util/redirect.aspWIDTH 300HEIGHT 50BORDER 2

*

/imagenes/logo1.gif

http://www.transcontinental.com

El viaje de tus sueños

20

/imagenes/logo5.jpg

http://www.pastelito.fr

Dulces de calidad

30

Ejemplo de fichero de redirección

<% response.redirect (request.querystring("url")) %>

Ejemplo de una página completa

<html>

<head><title>Uso de AdRotator</title></head>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/adrotator.htm (3 of 4) [14/11/2002 18:05:20]

Page 22: Manual Basico ASP

ASP Componente ADRotator

<body><h2>Uso de AdRotator</h2>

<% Set Rotacion=Server.CreateObject("MSWC.AdRotator") %>

<=% Rotacion.GetAdvertisement("adrot.txt") %>

</body>

</html>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/adrotator.htm (4 of 4) [14/11/2002 18:05:20]

Page 23: Manual Basico ASP

ASP Introducción a Active Server Pages

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto Application

El objeto Application se utiliza para compartir información entre todos los usuarios de una aplicación (entendemos por una aplicación ASP todos los archivos .asp de un directorio virtual y sus subdirectorios. Como varios usuarios pueden compartir un objeto Application, existen los métodos Lock y Unlock para asegurar la integridad del mismo (varios usuarios no puedan modificar una misma propiedad al mismo tiempo).

Lock

El método Lock asegura que sólo un cliente puede modificar o tener acceso a las variables de Application al mismo tiempo.

Sintaxis

ApplicationLock

Unlock

El método Unlock desbloquea el objeto Application para que pueda ser modificado por otro cliente después de haberse bloqueado mediante el método Lock. Si no se llama a este método de forma explícita, 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") %>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/application.htm (1 of 2) [14/11/2002 18:05:20]

Page 24: Manual Basico ASP

ASP Introducción a Active Server Pages

En el ejemplo anterior el método Lock impide que más de un cliente tenga acceso a la variable Visitas al mismo tiempo. Si la aplicación no se hubiera bloqueado, dos clientes podrían intentar incrementar simultáneamente el valor de la variable Visitas. El método Unlock libera el objeto bloqueado de forma que el próximo 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) = 640parametros(2) = 480Application.LockApplication("Param") =parametros%>Application.UnLock

con estas instrucciones almacenaríamos TODA la matriz en la variable de aplicación "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)

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/application.htm (2 of 2) [14/11/2002 18:05:20]

Page 25: Manual Basico ASP

ASP Introducción

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Bucle sencillo que muestra en pantalla todos los caracteres ASCII

ascii.asp <html>

<head><title>Tabla de caracteres Ascii</title></head>

<body><%For i=1 to 255response.write "chr(" & i & ")" & " = " & chr(i) & "<br>"next%></body></html>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ascii.htm [14/11/2002 18:05:20]

Page 26: Manual Basico ASP

ASP Introducción

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Como bloquear el boton derecho del raton

No suelo poner ejemplos de javascript, pero esta utilidad puede venir bien si queremos desactivar el boton derecho del raton sobre alguna de nuestras páginas.

<SCRIPT type="text/javascript">

function click(e) {// Explorerif (IE)if (event.button == 2){accion() ;return false ;}

// Netscapeif (NS)if (e.which == 3) {accion() ;return false ;}}

function accion() {window.status = 'Pulsación de botón no permitida' ;if (IE) alert('Pulsación de botón no permitida');return ;}

var NS = (document.layers) ;var IE = (document.all) ;if (NS) document.captureEvents(Event.MOUSEDOWN) ;document.onmousedown = click ;

</SCRIPT>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/bderecho.htm [14/11/2002 18:05:21]

Page 27: Manual Basico ASP

ASP Componentes ActiveX

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Componentes ActiveX

Los componentes ActiveX se han diseñado 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, etc.

Existen componentes ActiveX para tareas muy diversas, en esta páginas mostraremos como operar con algunos de los que se incluyen por defecto en la instalación de ASP.

Adrotator Inserción 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

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/cax.htm [14/11/2002 18:05:21]

Page 28: Manual Basico ASP

ASP Connection Object

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto Connection (propiedades y metodos)

Hemos comentado que el objeto Connection nos proporciona una conexión a una base de datos desde una página ASP; ahora vamos a ver como se usa , así como sus propiedades y métodos.

Para establecer la conexión lo primero que hacemos es crear el Objeto Connetion por medio de la propiedad CreateObject de objeto Server:

<% Set conexion=Server.CreateObject("ADODB.Connection")%>

Una vez establecida la instancia del objeto pasamos a configurarlo mediante sus distintas propiedades y métodos.

Propiedades:

ConnectionString

Especifica la referencia a la base de datos con la cual queremos conectar, conteniendo en una cadena de texto la información necesaria para efectuar esa conexión 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" %>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/connection.htm (1 of 4) [14/11/2002 18:05:21]

Page 29: Manual Basico ASP

ASP Connection Object

Mode

Especifica los permisos de la conexión.

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 transacción; todas las operaciones que realicemos a partir de ese momento no serán efectivas hasta que no cerremos la transacción.

Ejemplo:

<% conexion.BeginTrans %>

Close

Cierra el objeto

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/connection.htm (2 of 4) [14/11/2002 18:05:21]

Page 30: Manual Basico ASP

ASP Connection Object

Ejemplo:

<% conexion.close %>

CommitTrans

Cierra una transacción 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 conexión con los parámetros especificados en las propiedades.

Ejemplo:

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/connection.htm (3 of 4) [14/11/2002 18:05:21]

Page 31: Manual Basico ASP

ASP Connection Object

<% conexion.open %>

RollBackTrans

Desace todos los cambios efectuados en la base de datos desde el inicio de la transacción.

Ejemplo:

<% conexion.RollBackTrans %>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/connection.htm (4 of 4) [14/11/2002 18:05:21]

Page 32: Manual Basico ASP

ASP Introducción

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Contador de visitas a nuestra aplicación

utilizaremos para llevar el control de visitas una variable del objeto application.

Esta variable la inicializaremos a cero en global.asa cuando iniciemos la aplicación (application_onstart) y la iremos incrementando en uno cada vez que un nuevo visitante entre en la aplicación , capturaremos esta entrada en el evento session_onstart tambien en globla asa.

Luego simplemente en nuestras páginas mostraremos el numero almacenado en la variable de aplicación.

global.asa

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStartapplication("visitas")=0application("fecha")=date()End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStartapplication.lookapplication("visitas")=aplication("visitas")+1application.unlookEnd Sub

Sub Session_OnEnd

End Sub

</SCRIPT>

mipagina.asp

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/contador.htm (1 of 2) [14/11/2002 18:05:22]

Page 33: Manual Basico ASP

ASP Introducción

<html>

........

Eres el visitante nº :<%=application("visitas")%> desde el dia <%=application("fecha")%>

.....

</html>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/contador.htm (2 of 2) [14/11/2002 18:05:22]

Page 34: Manual Basico ASP

ASP Cookies

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Cookies

Las cookies son el mecanismo que nos permite guardar información relativa a un usuario a lo largo de sus distintos accesos a nuestras páginas.

Nos permite integrar funcionalidades como:

■ Personalización de opciones de cliente■ Personalización en función de las características del cliente■ Cestas de compra■ Etc.

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 información que se almacena en los equipos de los clientes.

Las cookies se transmiten en las cabeceras cuando se realiza la comunicación http y es el navegador el encargado de almacenarlas.

Las cookies se implementan como una colección y se usan mediante los objetos integrados Request y Response.

Tiempo de vida de una cookie

Por defecto una cookie tiene un ámbito de sesión, 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:

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/Cookies.htm (1 of 3) [14/11/2002 18:05:22]

Page 35: Manual Basico ASP

ASP Cookies

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 recuperaría el valor morado

<% Request.cookies("color")("texto") %>

Nos recuperaría el valor blanco

Nota: Cuando usamos Response para escribir una cookie, si esta ya existía se sobrescribe.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/Cookies.htm (2 of 3) [14/11/2002 18:05:22]

Page 36: Manual Basico ASP

ASP Cookies

Atributos:

Expires

Establece el día 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 día

<% Response.cookies(cookie).expires="12/12/2000"%>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/Cookies.htm (3 of 3) [14/11/2002 18:05:22]

Page 37: Manual Basico ASP

ASP Ejemplos Practicos

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Ejemplos de nivel Básico e Intermedio

1. Calculo de números primos2. Probando las variables de formularios3. Probando el objeto Response4. Jugando con los Objetos Application y Session

❍ Un contador de Visitas❍ Un contador de visitantes activos en nuestras páginas

5. Como imprimir desde un enlace6. Bloquear la pulsación del boton derecho del raton

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ejemplos1.htm [14/11/2002 18:05:22]

Page 38: Manual Basico ASP

ASP Ejemplos Practicos

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Ejemplos de operaciones sobre Bases de Datos

1. Listado sencillo de registros2. Paginación de resultados3. Ejemplo de consulta sencilla con formulario4. Ejemplo de inserción de datos en una tabla5. Ejemplo de modificación de datos en una tabla

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/ejemplosADO.htm [14/11/2002 18:05:23]

Page 39: Manual Basico ASP

ASP Introducción

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto Error (propiedades y métodos)

El objeto Error contiene la colección Errors, que es la encargada de almacenar los errores que se pudieran producir durante la ejecución de operaciones contra Bases de Datos.

Propiedades:

Description

Descripción del error.

Number

El numero de error.

SQLState

Codigo de error SQL.

Metodos:

Clear

Elimina los datos del objeto Error.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/error.htm (1 of 2) [14/11/2002 18:05:23]

Page 40: Manual Basico ASP

ASP Introducción

Ejemplo:

Examinando los posibles datos de la colección Errors

.......

.......Miconexion.openIf Miconexion.Errors.Count > 0 then For each error in Miconexion.errors then Response.write Error.Number & " = "& Error.Description nextEnd if

Nota: Count es una propiedad de la colección Errors.

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/error.htm (2 of 2) [14/11/2002 18:05:23]

Page 41: Manual Basico ASP

ASP Tutorial

Sorry, your browser doesn't support Java(tm).

Visitas desde el 11-02-2000:

Active Server Pages

Esta pequeña guía de ASP está pensada tanto a quien desee construir su propia aplicación Web partiendo desde los conceptos iniciales, como a quien quiera ampliar sus conocimientos.

Novedades:

● 14-02-2000 Ejemplos de listado con ADO● 14-02-2000 Paginación de registros con ADO● 16-02-2000 Introduccion a ADO● 18-02-2000 Ejemplo de consulta sencilla con ADO● 20-02-2000 He conseguido un servidor para publicar los ejemplos, podréis ver el ejemplo

funcionando pulsando:

● 26-02-2000 ¿Tienes Preguntas? ¿Y respuestas? pásate por:

Los Foros de La Cueva

● 28-02-2000 El Objeto Connection● 01-02-2000 El Objeto Error● 09-04-2000 El Objeto Recordset● 27-04-2000 Inserción de datos en tablas● 28-04-2000 Modificación de datos en tablas● 28-05-2000 Modulo de pruebas de formularios● 11-07-2000 Nuevos ejemplos de Nivel Intermedio● 12-07-2000 Como imprimir desde un enlace● 12-07-2000 Como bloquear el boton derecho del raton

Requisitos previos: Como requisito previo a la programación de páginas activas son necesarios conocimientos básicos del Lenguaje HTML

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/fd.htm (1 of 2) [14/11/2002 18:05:23]

Page 42: Manual Basico ASP

ASP Tutorial

El tutorial esta dividido en 3 secciones:

1. Nivel Básico: Se comenta la arquitectura en que se basan las aplicaciones ASP y como crear el entorno de ejecución. Se introducen los conceptos básicos de programación basados en VBScript y se crean las primeras páginas interactivas.

2. Nivel Intermedio: Se procede al estudio y aplicación de los objetos integrados de ASP, así como a la declaración y uso de otros objetos ActiveX de propósito general como el FSO que nos permite leer y escribir ficheros de texto en el servidor o el ADrotator que nos permite la inclusión de publicidad rotatoria en nuestras página Web.

3. Acceso a Bases de Datos: En esta sección se profundiza en lo que es tal vez el aspecto mas interesante de la programación ASP, el acceso a Bases de Datos a través de ADO (ActiveX Data Object). Podremos efectuar consultas y actualizar tablas de prácticamente cualquier base de datos, lo que nos posibilitará el desarrollo de autenticas aplicaciones Web totalmente interactivas.

Todas los capítulos del tutorial incluyen ejemplos prácticos de los conceptos expuestos.

Observaras que hay opciones en el menú que aun no están desarrolladas, estoy en ello, un poquito de paciencia.

Nota: Aun no existe una versión del tutorial para descargar , en cuanto lo acabe os aseguro que la pongo.

Para cualquier sugerencia estaré encantado de recibir tu correo.

También puedes dejar un mensaje en mi Libro de Visitas

Menciones y reseñas

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/fd.htm (2 of 2) [14/11/2002 18:05:23]

Page 43: Manual Basico ASP

Indice ASP

Active Server Pages

Nivel BásicoInicio

Introducción

Software

IIS

Sintaxis

Variables y Tipos

Nivel IntermedioObjetos Integrados en ASP

Application

Request

Response

Server

Session

Global.asa

Cookies

Componentes ActiveX

AdRotator

FSO

TextStream

Ejemplos de código

Acceso a Bases de DatosB.D. ODBC

ActiveX Data Objects

Connection

Error

RecordSet

Command

Field

Ejemplos de código

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/fi.htm [14/11/2002 18:05:24]

Page 44: Manual Basico ASP

ASP Objeto FileSystemObject

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Componente FileSystemObject

El componente FSO nos permite abrir y crear ficheros de texto en el servidor.

Este componente consta de 22 métodos, 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 físico y con la cual trabajaremos.

Metodos:

CreateTextFile

Crea un archivo físico 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.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/fso.htm (1 of 2) [14/11/2002 18:05:24]

Page 45: Manual Basico ASP

ASP Objeto FileSystemObject

OpenTextFile

Abre un archivo físico 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") %>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/fso.htm (2 of 2) [14/11/2002 18:05:24]

Page 46: Manual Basico ASP

ASP El archivo Global.asa

Colabora en el mantenimiento de estas páginas, haz clik en el logo

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 páginas.Es un archivo de comandos que nos permite la automatización de los cuatro eventos básicos de nuestro servidor.

La estructura es siempre la misma:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart........End Sub

Sub Application_OnEnd........End Sub

Sub Session_OnStart........End Sub

Sub Session_OnEnd........End Sub

</SCRIPT>

Eventos:

Application_OnStart

El evento Application_OnStart se ejecuta antes de que se cree la primera nueva sesión; es decir justo cuando el primer cliente pide una pagina de nuestro servidor.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/gasa.htm (1 of 3) [14/11/2002 18:05:25]

Page 47: Manual Basico ASP

ASP El archivo Global.asa

Application_OnEnd

El evento Application_OnEnd se ejecuta cuando la aplicación termina.

Session_OnStart

El evento Session_OnStart se ejecuta cuando el servidor crea una nueva sesión; esta secuencia de comandos es ejecutada antes de enviar la página solicitada al cliente.

Session_OnEnd

El evento Session_OnEnd se ejecuta cuando se abandona o se supera el tiempo de espera de una sesión.

Ejemplo de Global.asa

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStartdim mitabla()redim mitabla(9)application("tabla")=mitablaEnd Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStartpaginaInicio="/appl/index.html"response.redirect paginaInicioEnd Sub

Sub Session_OnEnd

End Sub

</SCRIPT>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/gasa.htm (2 of 3) [14/11/2002 18:05:25]

Page 48: Manual Basico ASP

ASP El archivo Global.asa

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/gasa.htm (3 of 3) [14/11/2002 18:05:25]

Page 49: Manual Basico ASP

ASP Internet Information Server

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Internet Information Server

1. Introducción2. Instalación de protocolo TCP/IP3. Seguridad del sitio Web

1.-Introducción

IIS es el software estándar que soporta comunicaciones Internet en Windows NT .

No es el único, ni proporciona todos los servicios posibles; sin embargo su importancia es enorme al haberse convertido en uno de los más extendidos; haciendo fuerte competencia a los servidores basados en plataformas UNIX.

El auge viene de la mano de la fuerte penetración de Windows NT, complementándose muy adecuadamente con este desde le punto de vista comercial y técnico.

Proporciona unas buenas prestaciones en equipos con muy diferentes prestaciones de hardware.

Es especialmente ventajoso en su utilización en redes Intranet debido a la compatibilidad y posibilidades de uso conjunto con los productos de la familia Microsoft (Word, access, odbc, etc.)

Todo indica que el conjunto NT-IIS-Explorer será utilizado de forma creciente para la publicación de datos en Intranet/Internet.

Los servicios básicos que nos proporciona IIS4 son WWW, FTP, Correo y NEWS.

La instalación de IIS es sobre NT Server 4.0, aunque se puede instalar sobre Workstation o Windows 95-98 la versión PWS 4 con la consiguiente perdida de prestaciones.

Workstation puede servir muy adecuadamente como banco de pruebas y aprendizaje.

Una de las principales ventajas de IIS4 es el soporte nativo de páginas ASP (también se soportan en IIS3 mediante la actualización pertinente).

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/iis.htm (1 of 5) [14/11/2002 18:05:25]

Page 50: Manual Basico ASP

ASP Internet Information Server

Para publicar en Intranet necesitamos:

● Tarjeta adaptadora de red● Un servidor DNS o WINS si deseamos usar nombres en vez de direcciones IP numéricas.

Para publicar en Internet necesitamos:

● Una tarjeta de comunicaciones● Una conexión a Internet● Una dirección IP registrada en un DNS

Todo esto nos lo proporciona los Proveedores de Servicios Internet (ISP), junto con la dirección IP de gateway de su servidor, a través del cual se realizaran los encaminamientos de la información.

2.-Instalación del protocolo TCP/IP

Se configura a través de la ventana Red en el Panel de Control de Windows, en esta ventana configuramos los servicios, protocolos, adaptadores y enlaces.

En la pestaña Protocolos seleccionamos TCP/IP, si no aparece, lo añadiremos con el botón Agregar.

Una vez escogido pulsamos Propiedades para configurarlo.

Pestaña Dirección IP:

Configuramos por cada tarjeta:

❍ Adaptador (Tipo de tarjeta)❍ Dirección IP❍ Mascara de subred❍ Gateway

Pestaña Dirección DNS:

❍ Nombre de Host + Dominio (identificación de la maquina que estamos configurando)❍ Orden de búsqueda del servicio Dns❍ Orden de búsqueda de sufijo de dominio (opcional)

Todos estos parámetros nos los proporciona nuestro proveedor ISP.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/iis.htm (2 of 5) [14/11/2002 18:05:25]

Page 51: Manual Basico ASP

ASP Internet Information Server

3.-Mecanismos de seguridad

La seguridad de un sitio Web es especialmente importante, debido a la necesidad de garantizar su utilización por usuarios remotos.

IIS 4.o utiliza la seguridad de Windows NT y en algunos casos la amplia.

Se recomienda el uso del sistema de archivos NTFS de NT por su mayor seguridad.

Windows NT basa su seguridad en el sistema de usuarios y contraseñas, el uso adecuado de estas contribuye a mantener el equipo seguro.

La mayor parte de las peticiones de paginas Web son realizadas por clientes anónimos, en este caso, el servidor web se encarga de suplantar al usuario real mediante el uso de la cuenta del usuario anónimo.

Mecanismo de seguridad en una petición:

1. Comprobación de la dirección IP del cliente por IIS.2. Comprobación de usuario y contraseña.3. Comprobación de los permisos de acceso a archivos establecidos en el sistema NTFS.

Si cualquiera de estas comprobaciones es errónea, la petición no tendrá éxito.

Administración de la cuenta de usuario anónimo.

Cuando se instala IIS se crea automáticamente en NT el usuario anónimo con el nombre IUSR_Nombre del equipo y con la misma contraseña aleatoria que en IIS y el derecho de Inicio de Sesión en Local.

Conviene revisar los derechos de los grupos que tienen los grupos Todos e Invitados a los que pertenece el usuario anónimo.

Para que el usuario anónimo funcione correctamente debemos activar Permitir Anónimos en las propiedades del servicio Web.

Autenticación

Si se desea, se puede restringir la utilización de los servicios Web de tal forma que únicamente los clientes que proporcionan un nombre de usuario y una contraseña válidos puedan acceder a las paginas solicitadas.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/iis.htm (3 of 5) [14/11/2002 18:05:25]

Page 52: Manual Basico ASP

ASP Internet Information Server

En IIS existen 2 formas de autenticación:

❍ Autenticación Básica: El usuario y la clave se transmiten sin cifrar❍ Autentificación Desafío/Respuesta de Windows NT: El usuario y la clave se transmiten

cifrados; el usuario debe de estar dado de alta en el dominio de la maquina que ejecuta IIS y tener derechos de Acceso al equipo desde la red. Es muy adecuado en redes Intranet; precisa un cliente Internet Explorer en versión 2 como mínimo.

Generalmente se permiten simultáneamente Anónimos y mecanismos de autenticación, en este caso en primer lugar se usa el usuario Anónimo y si se produce un error por falta de permisos de acceso a un recurso, el cliente recibe una ventana de dialogo solicitándole las credenciales.

Establecimiento de permisos en los directorios y ficheros de un sitio Web (aspectos Básicos)

De forma genérica un sitio Web reside en

❍ Un directorio particular❍ Los subdirectorios que parten del particular❍ Los directorios virtuales

Cada uno de los elementos anteriores, en caso de existir, deberá poseer los suficientes permisos para que el sitio Web funcione correctamente, pero con las restricciones adecuadas para que el equipo este seguro.

Una buena metodología consiste en agrupar los ficheros según su naturaleza y de forma jerárquica; de manera que tengamos separadas distintas aplicaciones en distintos directorios, con sus documentos en subdirectorios.

La asignación general de permisos sigue la siguiente estructura:

● Programas CGI, ISAPI, etc

Permiso de Ejecución

● Páginas ASP

Permisos de Lectura y Ejecución

● Documentos estáticos HTML, Imágenes, etc

Permiso de Lectura

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/iis.htm (4 of 5) [14/11/2002 18:05:25]

Page 53: Manual Basico ASP

ASP Internet Information Server

● Bases de datos, ficheros auxiliares, etc.

Permisos de Lectura y Escritura.

Se debe tener en cuenta que desde IIS se pueden establecer permisos de Lectura y Ejecución, y desde NT cualquier permiso implementado en NTFS. En caso de discrepancia se toma la opción más restrictiva.

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/iis.htm (5 of 5) [14/11/2002 18:05:25]

Page 54: Manual Basico ASP

ASP Imprimir desde una página

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Imprimir desde un enlace en la página

No se si alguno tendreis alguna vez la necesidad de imprimir desde un enlace en la página, si es asi, aqui teneis unos ejemplos de como hacerlo.

Antes de nada, tenemos que averiguar que tipo de explorador tiene el cliente ( como es "normal", cada uno funciona de forma distinta).

Si el cliente es Netscape o Explorer 5.x, es facil solo hay que hacer una llamada a la función print() de Javascript

Ejemplo IE5.x Netscape:

<a href="javascript:print()"><font color="#0000FF">Imprimir</font></a>

Si el cliente es Explorer 4.x la cosa es un poco mas complicada, esta versión hace la impresión por medio de un componente ActiveX que reside en la maquina del cliente, por lo cual nos toca hacer una instancia de dicho componente y luego llamarlo

Ejemplo IE4.x:

Declaración del objeto en IE4.x

<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT><SCRIPT LANGUAGE="VBScript"><!--Function window_onunloadOn Error Resume NextSet WB = nothingEnd Function

Sub vbPrintPage()

OLECMDID_PRINT = 6OLECMDEXECOPT_DONTPROMPTUSER = 6OLECMDEXECOPT_PROMPTUSER = 1On Error Resume NextWB.ExecWB OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSEREnd Sub-->

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/imprimir.htm (1 of 4) [14/11/2002 18:05:25]

Page 55: Manual Basico ASP

ASP Imprimir desde una página

</SCRIPT>

LLamada al objeto declarado:

<a href="#" onclick="vbPrintPage()"><font color="#0000FF">Imprimir</font>

Como averiguar cual es el explorador cliente

Existen varias formas de averiguarlo usando Javascript, la forma que os muestro a continuación es usando ASP (ya que estas páginas van sobre ASP, ¿no?).

Esta información la podemos encontrar en examinando:

Request.ServerVariables("HTTP_USER_AGENT")

Un ejemplo completo

Nota: como en IE5.x y Netscape se imprime de la misma forma, lo que nos interesa averiguar es la excepción, o sea, IE4.x

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/imprimir.htm (2 of 4) [14/11/2002 18:05:25]

Page 56: Manual Basico ASP

ASP Imprimir desde una página

<html>

<head>

<title>xxxxxxxxx</title></head><%nav=Request.ServerVariables("HTTP_USER_AGENT")cadenabuscada="MSIE 4"for i = 1 to len(nav)if mid(nav,i,1)= "M" thenxx=mid(nav,i,(len(cadenabuscada)))if xx=cadenabuscada thennav="IE4"exit forend if end if nextif nav="IE4" then %><OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT><SCRIPT LANGUAGE="VBScript"><!--Function window_onunloadOn Error Resume NextSet WB = nothingEnd Function

Sub vbPrintPage()

OLECMDID_PRINT = 6OLECMDEXECOPT_DONTPROMPTUSER = 6OLECMDEXECOPT_PROMPTUSER = 1On Error Resume NextWB.ExecWB OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSEREnd Sub--></SCRIPT><%end if%><body>

<%if nav="IE4" then%><a href="#" onclick="vbPrintPage()"><font color="#0000FF">Imprimir</font></a></td>

<%else%><a href="javascript:print()"><font color="#0000FF">Imprimir</font></a></td>

<%end if%>

</body>

</html>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/imprimir.htm (3 of 4) [14/11/2002 18:05:25]

Page 57: Manual Basico ASP

ASP Imprimir desde una página

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/imprimir.htm (4 of 4) [14/11/2002 18:05:25]

Page 58: Manual Basico ASP

ASP Introducción

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Páginas Active Server

Páginas Active Server (ASP, Active Server Pages) es un entorno para crear y ejecutar aplicaciones dinámicas e interactivas en la Web.Se puede combinar páginas HTML, secuencias de comandos y componentes ActiveX para crear paginas y aplicaciones Web interactivas.

El modelo de Páginas ASP

Las páginas ASP comienzan a ejecutarse cuando un usuario solicita un archivo .asp al servidor Web a través del explorador. El servidor web llama a ASP, que lee el archivo solicitado, ejecuta las secuencias de comandos que encuentre y envía los resultados al explorador del cliente.

Puesto que las secuencias de comandos se ejecutan en el servidor, y NO en el cliente, es el servidor el que hace todo el trabajo necesario para generar las paginas que se envían al explorador. Las secuencias de comandos quedan ocultas a los usuarios, estos solo reciben el resultado de la ejecución en formato HTML.

Desaparece por tanto el problema de si el cliente puede o no ejecutar sentencias de comandos, el servidor Web solo envía el resultado en código HTML standard interpretable por cualquier explorador.

Crear Páginas ASP

Los archivos .asp son archivos de texto normales, no es necesario ningún editor especial para crearlos, puede usarse cualquier editor que genere código ascii.Un archivo .asp puede contener texto, código HTML, código ASP o cualquier combinación de estos. Si no contiene código ASP se comporta como un archivo .html normal.

(Nota: todos los archivos .asp requieren una parte de proceso por el servidor, por lo cual no es conveniente convertir a .asp los archivos que no contengan código)

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/introduccion.htm [14/11/2002 18:05:26]

Page 59: Manual Basico ASP

ASP Ejemplos practicos

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Calculo de números primos

Este pequeño ejemplo nos permite saber si un numero introducido por pantalla es o no primo.

Consta de 2 páginas:

1. Primos.html página html normal que contiene un formulario para introducir el numero a evaluar.

2. Primos.asp página asp que recibe el numero introducido y devuelve al usuario una página en la que dice si el numero es primo o no.

Primos.html

<html><head><title>Calculo de numeros primos</title></head><body><h2 align="center">Calculo de numeros primos</h2><center><table border="1" width="30%"> <tr> <td width="100%"><p align="center">Introduce un numero</p> <form method="POST" action="primos.asp"> <p><input type="text" name="numero" size="20"></p> <center><p><input type="submit" value="Enviar" name="B1"> <input type="reset" value="Restablecer" name="B2"></p> </center> </form> </td> </tr></table></center></body></html>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/nprimos.htm (1 of 3) [14/11/2002 18:05:26]

Page 60: Manual Basico ASP

ASP Ejemplos practicos

Primos.asp

<%option explicit%><html><% dim numero,contador,primo,result,doblenumero=request.form("numero")%>

<head><title>Calculo de numeros primos</title></head><body><hr><%if isnumeric(numero) thendoble = cdbl(numero)numero=clng(numero)if numero <> doble or numero > 30000000 then %>

<p align="center">el numero no puede tener decimales ni ser mayor de 30000000<%elsecontador = 2primo=true do while contador < numero-1 and primo = true if numero mod contador = 0 then primo=false else contador=contador+1 end if loop if primo then response.write "el numero "&numero &" es primo" else response.write "el numero "& numero& " no es primo, es divisible por " &contador end ifend ifelse%> El campo de consulta debe ser numerico<%end if%> </p>

<hr align="center">

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/nprimos.htm (2 of 3) [14/11/2002 18:05:26]

Page 61: Manual Basico ASP

ASP Ejemplos practicos

<p align="center"><a href="primos.html">Otra vez</a></p></body></html>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/nprimos.htm (3 of 3) [14/11/2002 18:05:26]

Page 62: Manual Basico ASP

ASP Objetos Integrados

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objetos integrados de ASP

● Objeto Application: el objeto Application se utiliza para compartir información entre todos los usuarios de una aplicación.

● Objeto Request: el objeto Request se utiliza para tener acceso a la información que se pasa en las peticiones HTTP. Entre dicha información se incluyen los parámetros que se pasan desde los formularios HTML mediante el método POST o el método GET, cookies y certificados de cliente.

● Objeto Response: el objeto Response se utiliza para controlar la información que se envía al usuario. Esto incluye el envío de información directamente al explorador, la redirección del explorador a otra dirección URL o el establecimiento de valores de las cookies.

● Objeto Server: el objeto Server proporciona acceso a los métodos y las propiedades del servidor. El método utilizado más frecuentemente es el que crea una instancia de un componente ActiveX (Server.CreateObject).

● Objeto Session: el objeto Session permite almacenar la información necesaria para una determinada sesión de usuario. Las variables almacenadas en el objeto Session no se descartan cuando el usuario pasa de una página a otra dentro de la aplicación, si no que dichas variables persisten durante todo el tiempo que el usuario tiene acceso a las páginas de la aplicación. También puede utilizar los métodos de Session para terminar explícitamente una sesión y establecer el periodo de tiempo de espera de inactividad de las sesiones.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/objint.htm (1 of 2) [14/11/2002 18:05:26]

Page 63: Manual Basico ASP

ASP Objetos Integrados

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/objint.htm (2 of 2) [14/11/2002 18:05:26]

Page 64: Manual Basico ASP

ASP Configuraciones ODBC

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Fuentes de datos ODBC

La administración de orígenes de datos ODBC (Open Database Connectivity) es una utilidad general de Windows NT.

Permite que las aplicaciones accedan a los datos a través usando SQL como lenguaje estándar.

Se administran a través de la ventana ODBC del Panel de Control.

Se pueden configurar tres diferente fuentes de datos ODBC, la forma más 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.

Configuración de una fuente de datos

En este ejemplo declaramos una base de datos Access, el procedimiento es prácticamente igual para cualquier otra tecnología 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->Configuración->Panel de Control), una vez abierto el programa nos situaremos en la pestaña DSN de Sistema

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/odbc.htm (1 of 3) [14/11/2002 18:05:27]

Page 65: Manual Basico ASP

ASP Configuraciones ODBC

Pulsaremos el botón AGREGAR para añadir una nueva fuente de datos, lo que nos llevara a la pantalla de controladores.

En esta ventana elegiremos el driver adecuado para la tecnología de la base de datos que queremos tratar desde nuestras páginas ASP y pulsaremos finalizar. La siguiente pantalla que se nos muestra nos pedirá la ubicación física de nuestra base de datos y el nombre ODBC con el que queremos acceder a ella.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/odbc.htm (2 of 3) [14/11/2002 18:05:27]

Page 66: Manual Basico ASP

ASP Configuraciones ODBC

Nombre de origen de datos: Es el nombre simbólico de nuestra base de datos, será el que utilicemos desde ASP para referirnos a ella.

Descripción: Es una descripción de la base de datos

Base de datos: Es el camino físico de la base de datos, para establecerlo pulsaremos el botón SELECCIONAR y mediante un explorador elegiremos nuestra fuente de datos.

Una vez hecho esto pulsaremos el botón 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 extensión .ldb cuando cualquier usuario interactúa 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.

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/odbc.htm (3 of 3) [14/11/2002 18:05:27]

Page 67: Manual Basico ASP

ASP Objeto RecordSet

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto RecordSet

El objeto Recordset es el interface entre los datos obtenidos de nuestras consultas sobre las tablas y nuestras páginas asp. Representa una tabla organizada en filas (registros) y columnas (campos).

La propiedades y métodos 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.

Definición 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:

Denominación valor Caracteristicas

adOpenForwardOnly 0

Es el cursor por defecto, solo nos permite recorrer la tabla de forma secuencial (no se puede volver hacia atrás) 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 1Nos permite movernos en los dos sentidos, si permite modificaciones en los registros. Vemos los cambios realizados en la tabla por otro recordset a excepción de las nuevas altas.

adOpenDynamic 2Nos permite movernos en los dos sentidos, si permite modificaciones en los registros. Vemos Todos los cambios realizados en la tabla por otro recordset.

adOpenStatic 3Nos permite movernos en los dos sentidos, no permite modificaciones en los registros. No vemos los cambios realizados en la tabla por otro recordset.

Definición 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

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/recordset.htm (1 of 5) [14/11/2002 18:05:28]

Page 68: Manual Basico ASP

ASP Objeto RecordSet

registro a la vez.

El tipo de cerrojo lo definiremos mediante la propiedad LockType, los posibles valores son:

Denominación valor Caracteristicas

adLockReadOnly 1 Es el defecto; no permite al usuario modificar los datos de la tabla.

dLockPessimistic 2 Cuando se abra la tabla nadie mas podrá hacerlo, este modo nos asegura la plena integridad de los datos.

adLockOptimistic 3Cierra la tabla a los demás usuarios cuando se invoque al método Update del objeto recordset; de este modo la Base de datos quedará bloqueada menos tiempo que con el método anterior.

Ejemplo de definición de un recordset para actualizar datos:

Const adOpenForwardOnly = 0Const adOpenKeyset = 1Const adOpenDynamic = 2Const adOpenStatic = 3Const adLockReadOnly = 1Const adLockPessimistic = 2Const adLockOptimistic = 3%>

set rs=createobject("ADODB.Recordset")rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic

Moviéndose por los datos del RecordSet

Métodos usados:

Metodo Caracteristicas

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 atrás

Propiedades usadas:

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/recordset.htm (2 of 5) [14/11/2002 18:05:28]

Page 69: Manual Basico ASP

ASP Objeto RecordSet

Propiedades Caracteristicas

PageSizeEstablece el numero de registros por página del recordset rs.Pagesize=10

AbsolutePageMueve el cursor al primer registro de dicha página (es necesario definir anteriormente el pageSize) rs.AbsolutePage=2

PageCountContiene el numero de páginas del recordset, tomando como base PageSize xx=rs.PageCount

Absoluteposition Mueve el cursor al num_registro especificado rs.Absoluteposition=17

RecordCountContiene el numero de registros del recordset; Nota: No funciona con el cursor adOpenForwardOnly 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

Métodos usados:

Metodo Caracteristicas

AddNew

Abre un nuevo registro en el recordset para introducir datos rs.Addnew rs("codigo")=1234 rs("titulo")="Todo sobre ASP" rs.Update

Delete Elimina el registro actual

UpdateActualiza un registro del recordset tras haberlo modificado rs("titulo")="Como hacerse rico en 10 minutos" rs.Update

Abriendo y cerrando el recordset

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/recordset.htm (3 of 5) [14/11/2002 18:05:28]

Page 70: Manual Basico ASP

ASP Objeto RecordSet

Métodos usados:

Metodo Caracteristicas

Open Sql, conexion

Abre el recordset y almacena en el el resultado de sql contra la conexion set rs=createobject("ADODB.Recordset")rs.CursorType = 1 rs.LockType = 3Sqltxt="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.MoveNextLooprs.Close

</table>%>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/recordset.htm (4 of 5) [14/11/2002 18:05:28]

Page 71: Manual Basico ASP

ASP Objeto RecordSet

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/recordset.htm (5 of 5) [14/11/2002 18:05:28]

Page 72: Manual Basico ASP

ASP Objeto Request

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto Request

El Objeto Request recupera los valores que el cliente pasa al servidor durante una petición HTTP.

Dependiendo de la forma en que enviemos los datos al servidor tendremos que utilizar una u otra de las diversas colecciones del objeto Request. Las mas típicas son:

● FORM recupera datos enviados desde un formulario mediante el método POST.

● QUERYSTRING recupera datos enviados como cadena de consulta HTTP.● COOKIES recupera los valores de las Cookies.

Sintaxis General:

Request.coleccion(elemento)

Ejemplos:

FORM

Supongamos que enviamos la información desde el siguiente formulario:

<form method="POST" action="recibir.asp">

<p>Nombre: <input type="text" name="Nombre" size="20"></p>

<p>Nacionalidad: <input type="text" name="Nacionalidad" size="20"></p>

<p><input type="submit" value="Enviar" name="Enviar"></p>

</form>

En nuestra página "recibir.asp" podriamos usar la siguiente secuencia:

Hola Sr/a <%=request.form("nombre")%> <br>

Asi que usted es de nacionalidad <%=request.form("nacionalidad")%>

Con lo que el resultado seria:

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/request.htm (1 of 2) [14/11/2002 18:05:28]

Page 73: Manual Basico ASP

ASP Objeto Request

Hola Sr/a Julian

Asi que usted es de nacionalidad francesa

QUERYSTRING

Supongamos que enviamos la información en forma de cadena de consulta (Notar que una cadena de consulta HTTP esta especificada por las parejas de valores que siguen al signo "?"):

<a href="recibir.asp?nombre=Julian&nacionalidad=francesa">

En nuestra página "recibir.asp" podriamos usar la siguiente secuencia:

Hola Sr/a <%=request.querystring("nombre")%> <br>

Asi que usted es de nacionalidad <%=request.querystring("nacionalidad")%>

Con lo que el resultado seria:

Hola Sr/a Julian

Asi que usted es de nacionalidad francesa

COOKIES

Ir a la página de Cookies

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/request.htm (2 of 2) [14/11/2002 18:05:28]

Page 74: Manual Basico ASP

ASP Objeto Response

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto Response

El Objeto response se usa para enviar resultados al navegador cliente o establecer valores de Cookies.

Sintaxis general:

Response.metodo [valor]

Entre los métodos mas interesantes del objeto Response estan los siguientes:

WRITE

El método Write escribe una cadena de resultado en el navegador cliente (Nota: cuando se usa la sintaxis <%=variable%> estamos usando implícitamente el método Response.Write).

Ejemplo:

<%response.write "<center>Hola mundo</center>" %>

obtenemos

Hola mundo

REDIRECT

El método Redirect hace que el explorador se conecte con una dirección URL diferente. (Nota: debemos usar este metodo antes de enviar cualquier resultado al navegador cliente, en caso contrario produce un error).

Ejemplo:

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/response.htm (1 of 2) [14/11/2002 18:05:28]

Page 75: Manual Basico ASP

ASP Objeto Response

<%response.redirect "www.renfe.es"%>

El navegador se dirigirá a la URL especificada

COOKIES

Ir a la página de Cookies

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/response.htm (2 of 2) [14/11/2002 18:05:28]

Page 76: Manual Basico ASP

ASP Agregar secuencias de comandos

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Agregar secuencias de comandos

Como vimos anteriormente, una pagina ASP mezcla en el mismo archivo secuencias de comandos con código HTML standard. Las secuencias de comandos asp se distinguen del resto del texto del archivo mediante delimitadores (un delimitador es un carácter o secuencia de caracteres que marca el principio o final de una unidad).

En el caso de HTML , dichos delimitadores son los símbolos "<" y ">" que enmarcan las etiquetas Html. ASP utiliza los delimitadores

"<%" y "%>"

para enmarcar las secuencias de comandos.

Veamos esto con un ejemplo sencillo:

<HTML>

<BODY>

Hola, bienvenido a mi página, estamos a : <%=Now( )%>

</BODY>

</HTML>

La función NOW() de VBScript devuelve la fecha y hora actuales.Cuando el servidor Web procese la pagina nos devolverá el siguiente resultado al explorador:

Hola, bienvenido a mi página, estamos a : 4/1/2000 14:25:55 PM

Como vemos, el cliente, no recibe el código asp, recibe el resultado de la ejecución de dicho

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/secucoma.htm (1 of 3) [14/11/2002 18:05:29]

Page 77: Manual Basico ASP

ASP Agregar secuencias de comandos

código.

Dentro de los delimitadores ASP se puede incluir cualquier instrucción, expresión, procedimiento u operador válido para el lenguaje de programación que estemos usando. Un ejemplo de esto seria una página que nos mostraría:

Buenos días

si la ejecutamos antes de las 12:00 o:

Buenas Tardes

si la ejecutamos después de esta hora, el código seria el siguiente:

<HTML>

<BODY>

<% If Time( ) >= #12:00:00 AM# And Time( ) <#12:00:00 PM# Then%>

Buenos días

<%Else%>

Buenas Tardes

<%End If%>

</BODY>

</HTML>

Establecer el lenguaje de la aplicación

ASP viene de forma nativa con dos motores de secuencia de comandos Microsoft Visual Basic Scriptig Edition (VBScript) y Microsoft JScript. Puede instalar y utilizar motores de otros lenguajes como REXX y Perl.

Para establecer el lenguaje principal de secuencia de comandos en todas las páginas de una aplicación, establezca la propiedad Lenguaje ASP predeterminado en la ficha Opciones de la Aplicación en el Administrador de Servicios Internet.

Para establecer el lenguaje principal de secuencia de comandos en una única página, hay que agregar la directiva <%@ LANGUAGE%> al principio del archivo .asp. La sintaxis de esta directiva es la siguiente:

<%@ LANGUAGE=Lenguaje_secuencia_comandos %>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/secucoma.htm (2 of 3) [14/11/2002 18:05:29]

Page 78: Manual Basico ASP

ASP Agregar secuencias de comandos

donde Lenguaje_secuencia_comandos es el lenguaje principal de secuencia de comandos que va a establecer en esa página concreta. El valor de la página invalida el valor global de todas las páginas de la aplicación.

Todos los ejemplos de estas páginas están escritos en VBScript

Comentarios en VBScript

VBScript acepta comentarios marcados con apóstrofes. Estos comentarios se eliminan al procesarse la secuencia de comandos y no se envían al explorador.

'Esta linea y las siguientes son comentarios.

'La función ImprimirTabla imprime los elementos de una matriz.

Call ImprimirTabla (mimatriz( ))

No puede incluir comentarios en expresiones de resultados. Por ejemplo, la primera línea que sigue funciona, pero la segunda no, porque empieza con <%=

<% i=i+l 'incrementa i. Esta instrucción funciona.%>

<%= i 'imprime el valor i. Esta instrucción no funciona.%>

Distinguir entre mayúsculas y minúsculas

VBScript no distingue entre mayúsculas y minúsculas.

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/secucoma.htm (3 of 3) [14/11/2002 18:05:29]

Page 79: Manual Basico ASP

ASP Objeto Server

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto Server

El objeto Server nos proporciona acceso a métodos y propiedades del servidor.

Propiedades:

ScriptTimeout

Especifica la cantidad maxima de tiempo que puede tardar la ejecución de una secuencia de comandos (Tiempo maximo que puede tardar en ejecutarse una página dada).

Sintaxis

Server.ScriptTimeout= nº de segundos

Ejemplo:

<% Server.ScriptTimeout=120 %>

La página puede ejecutarse durante 120 segundos antes de que el servidor la termine.

Metodos:

CreateObject

Crea una instancia de un componente ActiveX en el servidor.

Sintaxis

Server.CreateObject (IdProg)

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/server.htm (1 of 2) [14/11/2002 18:05:29]

Page 80: Manual Basico ASP

ASP Objeto Server

IdProg es el identificativo del tipo de componente que queremos crear, nos viene suministrado por el fabricante del componente.

Ejemplo:

<% set Mitabla = CreateObject("ADODB.Recordset") %>

Instancia un objeto de tipo recordset y lo asigna a la variable "Mitabla".

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/server.htm (2 of 2) [14/11/2002 18:05:29]

Page 81: Manual Basico ASP

ASP Objeto Session

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto Session

El objeto Session permite almacenar la información necesaria par una sesión de usuario contra nuestra aplicación ASP. Las variables que almacenemos en el objeto Session no se pierden al cambiar de página, si no que se mantienen hasta que el cliente sea eliminado por el servidor.

Las variables de Session de un cliente solo pueden ser accedidas por ese cliente.

El servidor crea automáticamente el objeto Session cuando un usuario que no tenga actualmente una sesión solicita una pagina Web de la aplicación.

(Nota: el servidor elimina un cliente bien cuando desde una pagina ASP se invoca el método Abandon o bien cuando este cliente lleva 20 minutos sin actividad en nuestra aplicación).

Creación de una variable en Session

Sintaxis

Sesion("Nomvariable")= valor

Ejemplo:

<% Session("Color")="Rojo" %>

Para recuperar ese valor:

<% ColorFavorito=Session("Color") %>

Esto nos almacenaría el valor "rojo" en la variable "ColorFavorito"

Nota Importante:

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/session.htm (1 of 2) [14/11/2002 18:05:29]

Page 82: Manual Basico ASP

ASP Objeto Session

En el objeto Session 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 cestacompra(2)cestacompra(0) = 1cestacompra(1) = 8cestacompra(2) = 22Session("Cesta") =cestacompra%>

con estas instrucciones almacenaríamos TODA la matriz en la variable de sesión "Cesta"

Para recuperar los valores de la matriz primero recuperamos esta en una variable normal

<%Micesta=Session("Cesta")%>

Ahora podremos operar con los valores de la tabla en las variables Micesta(0), Micesta(1) y Micesta(2)

Metodos:

Abandon

Destruye todos los objetos y variables almacenados en el objeto Session.

Ejemplo:

<% Session.Abandon %>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/session.htm (2 of 2) [14/11/2002 18:05:29]

Page 83: Manual Basico ASP

ASP Software necesario

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Software necesario para la ejecución de Páginas Active Server

Para la implantación de un servidor Web que soporte ASP el software necesario es, si lo que estamos configurando es un servidor de alto rendimiento:

● WINDOWS NT 4.0● IIS 4.0(INTERNET INFORMATION SERVER 4.0) Ó IIS3.0 + ASP.EXE

Para desarrollo o sistemas Intranet los requerimientos son mas sencillos:

● WINDOWS 95 + PERSONAL WEB SERVER 1.0 + ASP.EXE● WINDOWS 98 + PERSONAL WEB SERVER 4.0

Tanto IIS como Personal Web Server pueden descargarse desde la web de Microsoft.

Nota: Personal Web Server 4.0 esta incluido en algunas de las distribuciones de Windows 98 en el directorio ADD-ONS\PWS

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/soft.htm [14/11/2002 18:05:30]

Page 84: Manual Basico ASP

ASP Objeto TextStream

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Objeto TextStream

El objeto TextStream nos sirve para manejar ficheros de texto en el servidor. La creación de este objeto se realiza a partir de un objeto FileSystemObject y gracias a alguno de sus métodos.

Una vez creado, disponemos de un objeto TextStream que representa un archivo físico abierto, ya sea para lectura o escritura.

Este objeto dispone de 9 métodos:

Metodos:

Close

Cierra el archivo.

Sintaxis

<% MiFichero.close%>

Read

Lee y devuelve un numero especifico de caracteres.

Sintaxis

<% MiFichero.read(numero de caracteres) %>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/texts.htm (1 of 4) [14/11/2002 18:05:30]

Page 85: Manual Basico ASP

ASP Objeto TextStream

ReadAll

Lee y devuelve un archivo completo.

Sintaxis

<% MiFichero.ReadAll %>

ReadLine

Lee y devuelve una línea 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) %>

SkipLine

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/texts.htm (2 of 4) [14/11/2002 18:05:30]

Page 86: Manual Basico ASP

ASP Objeto TextStream

Salta una línea 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 añadiendo al final un carácter de fin de linea.

Sintaxis

<% MiFichero.WriteLine("texto_entre_comillas") %>

WriteBlankLines

Escribe un numero especifico de caracteres de nueva línea.

Sintaxis

<% MiFichero.WriteBlankLines(numero_de_lineas) %>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/texts.htm (3 of 4) [14/11/2002 18:05:30]

Page 87: Manual Basico ASP

ASP Objeto TextStream

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>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/texts.htm (4 of 4) [14/11/2002 18:05:30]

Page 88: Manual Basico ASP

ASP Tipos de Datos

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Tipos de datos en VBScript

Vbscript solo tiene un tipo de datos llamado Variant.

El tipo Variant es una clase especial de datos que puede contener diferentes tipos de información, se comporta como un número cuando se utiliza en un contexto numérico, y como una cadena de caracteres cuando se usa en un contexto de cadena, no obstante podemos forzar a que los números se comporten como cadenas poniéndolos entre comillas (" ").

Aunque solo existe un tipo de datos, podemos hacer distinciones mas precisas acerca de la naturaleza de la información a través de los Subtipos incluidos en el tipo Variant, además vbscript pone a nuestra disposición funciones para convertir los datos de un tipo a otro.

Subtipo Descripción Valor de Vartype

Empty Variable sin inicializar 0

Null Variable intencionadamente vacia 1

Boolean Dos valores posibles True o False 11

Byte Entero entre 0 y 255 17

Integer Entero entre -32.768 y 32.768 2

CurrencyNumero entre -922.337.203.685.477,5808 y 922.337.203.685.477,5807

6

Long Numero entre -2.147.483.648 y 2.147.483.647 3

Single Numero de precisión simple 4

Double Numero de doble precisión 5

Date Fecha entre 1-1-100 y 31-12-9999 7

StringCadena de longitud variable hasta 2.000.000.000 de caracteres.

8

Object Contiene un Objeto 9

Error Contiene un numero de error 10

Conversión de Tipos

Todas la funciones de conversión de tipos tienen la misma sintaxis:

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/tipos.htm (1 of 4) [14/11/2002 18:05:31]

Page 89: Manual Basico ASP

ASP Tipos de Datos

Funcion(expresión), siendo expresión el dato que se desea convertir.

Cbool Convierte una expresión a tipo Boolean

Cbyte Convierte una expresión a tipo Byte

Clnt Convierte una expresión a tipo Integer

Clng Convierte una expresión a tipo Long

Csng Convierte una expresión a tipo Single

Cdbl Convierte una expresión a tipo Double

Ccur Convierte una expresión a tipo Curency

Cdate Convierte una expresión a tipo Date

Cstr Convierte una expresión a tipo String

● Tambien podemos podemos conocer el subtipo de una variable mediante la función Vartype(variable) que nos devuelve el valor referenciado en la tercera columna de la tabla 1

Variables en VBScript

Vbscript no necesita la declaración explicita de variables, pero es conveniente su declaración para evitar errores (se puede forzar la declaración de variables incluyendo la sentencia <% Option Explicit %> al principio de la pagina .asp).

Para declarar una variable se utiliza la instrucción DIM. PUBLIC o PRIVATE. Por ejemplo:

<% Dim Mivariable %>

Restricciones del los nombres de variables:

● Debe comenzar con un carácter alfabético● No puede contener un punto● No debe superar los 255 caracteres

Asignación de valores a una variable escalar (variable que contiene un único valor):

MiVariable = "pepito"

Nota: al asignar valores a las variables debemos atenernos a las siguientes normas:

● Los valores de cadena se asignan entre comillas -> MiVariable = "pepito"● Los valores numericos se asignan sin comillas -> MiVariable = 33● Los valores de fecha se asignan entre almohadillas -> MiVariable = #12-1-1999#

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/tipos.htm (2 of 4) [14/11/2002 18:05:31]

Page 90: Manual Basico ASP

ASP Tipos de Datos

Declaración de Matrices:

Se declaran del mismo modo que las escalares, con la diferencia de que las matrices utilizan paréntesis ( ) a continuación del nombre de la variable; dentro del paréntesis pondremos el numero de elementos de que consta la matriz.

Dim MiMatriz(10)

NOTA IMPORTANTE: Vbscript numera los elementos a partir del 0, lo que implica que una matriz definida como MiMatriz(5) tendría auténticamente 6 elementos: MiMatriz(0), MiMatriz(1), MiMatriz(2), MiMatriz(3), MiMatriz(4), MiMatriz(5)

Para asignar un valor a una posición cualquiera de la matriz simplemente nos referiremos al indice de la matriz que queremos actualizar:

MiMatriz(2) = 122

Lo mismo para recuperar un valor almacenado:

MiVariable = MiMatriz(2)

Las matrices en VBScript pueden tener hasta 60 dimensiones separadas por comas, por ejemplo, la siguiente instrucción define una matriz de 6 filas y 11 columnas:

Dim MiMatriz(5,10)

También podemos definir matrices que cambien de tamaño durante la ejecución de la secuencia de comandos (matrices dinamicas), para ello las declararemos sin poner el numero de dimensiones Dim MiMatriz() y determinaremos las dimensiones con la sentencia Redim: Redim Mimatriz(22). Si queremos conservar los valores almacenados en la matriz cuando variamos su tamaño debemos añadir la sentencia Preserve :

Redim Mimatriz(12)

......

Redim Preserve Mimatriz(20)

Constantes en VBScript

Son variables que nunca cambian, se definen con la sentencia CONST

Const Miconstante = "texto que nunca cambia"

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/tipos.htm (3 of 4) [14/11/2002 18:05:31]

Page 91: Manual Basico ASP

ASP Tipos de Datos

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/tipos.htm (4 of 4) [14/11/2002 18:05:31]

Page 92: Manual Basico ASP

ASP Introducción

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Contador de visitantes activos

Utilizaremos para llevar el control de visitantes activos una variable del objeto application.

Esta variable la inicializaremos a cero en global.asa cuando iniciemos la aplicación (application_onstart) y la iremos incrementando en uno cada vez que un nuevo visitante entre en la aplicación , capturaremos esta entrada en el evento session_onstart tambien en globla asa.

Reduciremos en uno el numero de vistante cada vez que uno de ellos abandone nuestra aplicación, esto lo sabremos gracias al evento session_onend

Luego simplemente en nuestras páginas mostraremos el numero almacenado en la variable de aplicación.

global.asa

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStartapplication("vactivos")=0application("fecha")=date()End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStartapplication.lookapplication("vactivos")=aplication("vactivos")+1application.unlookEnd Sub

Sub Session_OnEndapplication.lookapplication("vactivos")=aplication("vactivos")-1application.unlookEnd Sub

</SCRIPT>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/vactivos.htm (1 of 2) [14/11/2002 18:05:31]

Page 93: Manual Basico ASP

ASP Introducción

mipagina.asp

<html>

........

Sois actualmente <%=application("vactivos")%> visitantes concurrentes

.....

</html>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/vactivos.htm (2 of 2) [14/11/2002 18:05:31]

Page 94: Manual Basico ASP

Pruebas de formularios

Colabora en el mantenimiento de estas páginas, haz clik en el logo

Página de pruebas de formularios

Este código nos va a servir para comprobar el buen funcionamiento de cualquier formulario que diseñemos.

Dirigiremos la salida de nuestro formulario a la página vfor.asp y esta nos dará un listado de todos las parejas nombre-valor recibidas

Vfor.asp

<html>

<head><title>Visualización de datos enviados por formulario </title></head>

<body>

<h4 align="center">Variables recibidas del formulario</h4>

<%for each v_entrada in request.formfor indice=1 to request.form(v_entrada).countresponse.write v_entrada&"="&request.form(v_entrada)(indice)&"<br>"nextnext%>

<hr><div align="center"><center>

<table border="1" width="44%"><tr><td width="100%"><p align="center"><a href="javascript:window.history.back()">Volver a lapagina anterior</a></td></tr></table></center></div></body></html>

Ejemplo de código de formulario

<form method="POST" action="vfor.asp">

<p>Nombre: <input type="text" name="Nombre" size="20"></p>

<p>Nacionalidad: <input type="text" name="Nacionalidad" size="20"></p>

<p><input type="submit" value="Enviar" name="Enviar"></p>

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/vfor.htm (1 of 2) [14/11/2002 18:05:31]

Page 95: Manual Basico ASP

Pruebas de formularios

</form>

http://members.es.tripod.de/smaug © 2000 Pedro Rufo.

file:///E|/ftp/DESARROLLO/Documentos/asp/manuales/Manual_basico_ASP/vfor.htm (2 of 2) [14/11/2002 18:05:31]