470 likes | 583 Views
Capacitación de Herramientas para el Desarrollo WEB Modulo IX- ASP Sesión #4 María Paz Coloma M. mcoloma@inacap.cl. Aspectos Generales. Una página ASP puede contener: Sólo código HTML Sólo código ASP Lenguajes script: Javascript Una mezcla de lo anterior. ASP:Código ASP.
E N D
Capacitación de Herramientas para el Desarrollo WEB Modulo IX- ASP Sesión #4 María Paz Coloma M. mcoloma@inacap.cl
Aspectos Generales • Una página ASP puede contener: • Sólo código HTML • Sólo código ASP • Lenguajes script: Javascript • Una mezcla de lo anterior.
ASP:Código ASP • El código asp es distinguido dentro de la página mediante los signos <% y %> • <% es el inicio, es decir, todo lo que este dentro de estas “llaves” es considerado código asp y es interpretado por el servidor. Para finalizar el código asp, se utilizan los %>
ASP:Ejemplo de codigo ASP <html><head><title>Ejemplo2</title> <body> <h3><center><u><b>Ejemplo2<b></u></center><h3><br> Instrucción ASP<br><br> <% Response.write “Hola Mundo ASP” </body> </html> En este ejemplo convive código html y asp. El comienzo del asp esta dado por los <%.
ASP:Principales Inconvenientes • En general dentro de las páginas asp convive el mundo gráfico y el mundo de los desarrolladores. • No es un lenguaje estructurado. • Trabaja bajo el modelo cliente/servidor, la lógica cambia a las aplicaciones tradicionales;
ASP: Declaración de Variables • Como en todo lenguaje, las variables deben declarse; Sin embargo, el tipo de dato se omite: <% Dim strvar Strvar=“Hola Mundo” %>
ASP:Principales Objetos • Request • Response • Session • Application • Server
ASP:Objeto Request • Este objeto nos permite capturar información desde un formulario. • Tiene 3 colecciones destacables, dos de ellas dependen del método de envío del formulario, estas son: • Form = asociado al método Post. • Querystring = asociado al métod Get. • ServerVariables.
ASP:Request.Form • Para capturar los datos que vienen en el formulario, se tienen las siguientes opciones: • Request.Form(“Nombre del control”) • Request.Form(Indice del control) • Request.Form.Count:Para obtener el número total pasados en el formulario.
ASP:Request.QueryString • Esta colección se utiliza para obtener los datos enviados por URL. • Request.QueryString(“Nombre campo”) • Ejemplo: http://www.dominio.cl/paginar.asp?pactual=2&accion=retroceder El valor de Request.QueryString(“pactual”) es 2.
ASP: Request.ServerVariables • Esta colección nos permite acceder a toda la información propia del servidor, y de quienes realizan las conexiones al servidor. • Existen una lista de variables predefinidas, como la de obtener la ip del host remoto, método de envío. • La sintaxis es la siguiente: Request.ServerVariables(“nombre variable”)
ASP:Ejemplo de ServerVariables • Se tiene un listado de servervariables ya definidas. Mayor información http://www.arsys.es/soporte/programacion/objetosasp.htm • Se requiere desplegar la ip del host remoto: Request.ServerVariables(“REMOTE_ADDR“)
ASP:Objeto Response • Nos permite desplegar información en el lado del cliente. • Tiene varios métodos asociados, los más importantes son: • Response.write • Response.Redirect • Response.End • Response.Clear
ASP:Objeto Response • Este método nos permite desplegar información en pantalla. • La sintaxis es la siguiente: Response.write Cadena de Texto Ejemplo: Response.write “Hola Mundo”
ASP:Response.Redirect • Este método nos permite redireccionar a una dirección url en particular, ya sea dentro del mismo sitio o bien hacia internet. • La sintaxis es: Response.Redirect(“url”) Ejemplo: Response.Redirect(“http://www.inacap.cl”)
ASP:Response.End • Termina la ejecución del script, por lo tanto todo el código que exista después de esta instrucción no es ejecutado. • La sintaxis es: Response.end
ASP: Application.lock • Es un método que bloquea la modificación de las variables por cualquier usuario. • Ejemplo: Application.Lock Application(“MiVariable”)=12
ASP:Application.Unlock • Es un método que permite modificar los valores de las variables del tipo application. • Ejemplo: Application.Unlock Application(“Dos”)=5
ASP:Objeto Server • Este método proporciona acceso a los métodos y a las propiedades del servidor. • De los métodos más importantes tenemos: • CreateObject • Mappath • ScriptTimeOut
ASP: Server.CreateObject • Es el método más importante, que nos permite instanciar de los objetos. • La sintaxis es: Server.CreateObject(“ProgId”), en donde ProgId corresponde al nombre del objeto • Ejemplo: • Set con = server.createobject(“ADODB.Connection”)
ASP: Server.Mappath • Devuelve la ruta actual. En visual su análogo sería curdir. • La sintaxis es: Server.Mappath(“URL”) • Ejemplo: Server.Mappth(“archivo.asp”)
ASP: Server.ScriptTimeOut • Esta propiedad nos permite determinar la cantidad de segundos a transcurrir para que un script deje de cargar. • La sintaxis es: Server.ScriptTimeOut=Tiempo • Ejemplo: Server.ScriptTimeOut=90
ASP:Objeto Session • Este objeto nos permite almacenar informacion necesaria para una determinada session de usuario. • La session de usuario tiene un tiempo de duración que es configurable. • La sintaxis es: Session(“Nombre Variable”)=Valor • Ejemplo: Session(“login”)=“mipas”
ASP:Acceso a Base de Datos • ASP utiliza el modelo de objetos de acceso a base de datos conocido como ADO. • Existen dos formas de trabajar las base de datos utilizando ADO: • Acceso DSN(Data Source Name) • OLE-DB
ASP:Acceso de Datos con DSN ASP Support ASP Application. Data Source Name DSN Entry ODBC DataBase Name Base de Datos
ASP:Acceso a datos con OLE-DB • A diferencia del DSN, OLE-DB actúa para cualquier tipo de base de datos, y se implementa en asp mediante una cadena de conexión que incluye: • Proveedor de Base de Datos. • User Id • Password • Data Source • Initial Catalog
MODELO ADO • ADO es un modelo de objeto para acceso a las Bases de Datos. • Se compone por: • Connection: enlace lógico con la base de datos. • Command : ejecución de comandos sql a la base de datos. • Recordset : tabla virtual que actúa como respositorio lógico.
Modelo ADO-Connection • El objeto connection mantiene el enlace lógico entre el sitio y/o aplicación con la base de datos. • Para utilizarlo, se trata como un objeto, por lo que es necesario instanciar.
Modelo ADO-Connection • Para realizar la conexión desde asp, se debe declarar una variable y luego instanciar. • Ejemplo: • <% Dim con set con= server.createobject(“adodb.connection”) • %> • Ahora con es del tipo connection, por lo que tengo acceso a todos sus atributos y métodos.
Modelo ADO-Connection • Dentro de las propiedades más importantes se encuentran: • ConnectionString: propiedad del tipo string en donde se configura la conexión. • CommandTimeOut: propiedad númerica, en donde se configura la cantidad de segundos a esperar antes de realizar un Timeout. • Provider: propiedad del tipo string, en donde se configura el nombre del proveedor de la base de datos.
Modelo ADO-Connection • Dentro de los métodos más importantes se encuentran: • BeginTrans : método que indica que las instrucciones que se están ejecutando corresponden a una transacción. • CommitTrans: método que indica que materializa la transferencia en las diferentes tablas. • RollbackTrans: método que deshace los cambios efectuados por la transacción en las diferentes tablas. • Open : método que realiza la apertura de la conexión. Recibe como parámetro un connectionstring, userid y password. • Close : método que realiza el cierre de la conexión • Execute : método que ejecuta una instrucción sql a la base de datos.
Modelo ADO-Connection • Veamos un ejemplo: <% dim con,sqltxt set con= server.createobject(“adodb.connection”) con.connectionstring=“dsn=ver” con.open ,”sa” con.execute (“insert cliente values(‘1’,’2’,’3’)”) con.close set con=nothing %>
Modelo ADO-Command • Un objeto command, debe ser declarado y luego instanciado para ser ocupado. • Puede como no depender de una conexión. Es aconsejable de que siempre exista una conexión para realizar el enlace con el command.
Modelo ADO-Command • Este objeto permite ejecutar sentencias sql sobre la base de datos. • No entrega resultados, salvo lo deje en un recordset como resultado
Modelo ADO-Command • Dentro de las propiedades más importantes: • ActiveConnection : propiedad, que nos permite definir la conexión activa. • CommandText : propiedad del tipo string, permite definir la instrucción a ejecutar en la Base de datos; Pueden ser un procedimiento almacenado, una tabla, una consulta sql entre otros.
Modelo ADO-Command • Dentro de los métodos más importantes: • Execute : permite ejecutar lo ingresado en la propiedad commandtext. • CreateParameters: permite crear parámetros que serán pasados a las consultas para ser ejecutadas.
Modelo ADO-Command • Dentro de los métodos más importantes: • Veamos un ejemplo: <% dim con,sqltxt,comm set con= server.createobject(“adodb.connection”) set comm= server.createobject(“adodb.command”) con.connectionstring=“dsn=ver” con.open ,”sa” comm.activeconnection=con conm.execute (“insert cliente values(‘1’,’2’,’3’)”) con.close set con=nothing set comm= nothing %>
Modelo ADO-Recordset • Un objeto recordset actúa como una tabla virtual en donde se almacenarán en forma lógica los registros de una tabla física. • Ideal para realizar consultas del tipo select o utilizar tablas directamente.
Modelo ADO-Recordset • Para utilizar un objeto recordset se debe declarar una variable y luego instanciar. • Un recordset puede ser el resultado de los métodos execute de la conexión o del command. • Un recordset puede como no, depender de una conexión.
Modelo ADO-Recordset • Dentro de las propiedades más importantes se encuentran: • CursorLocation : propiedad con dos valores posibles. AdusesCliente, adusesServer. Definen los recursos a utilizar. • CursorType: estrategias de cursores en el recordset. Tiene 4 valores posibles: adOpenForwarOnly, adopenstatic,adopendynamic,adopenkeyset. • LockType: estrategias de bloqueo. Tiene 4 valores: adlockreadonly,adlockpessimistic, adlockoptimistic,adlockbatchoptimistic.
Modelo ADO-Recordset • Propiedades: • EOF: propiedad del tipo boolean,indica fin de la tabla. • Fields: colleción de campos del recordset.Nos permite tener acceso a información y contenidos de los campos de un recordset. • Pagesize: tamaño de la paginación del recordset. Muy utilizado por los buscadores. • Recordcount: indica el total de registros de un recordset.
Modelo ADO-Recordset • Dentro de los métodos se encuentran: • Movenext : mueve al siguiente registro. • MovePrevious: mueve al registro anterior. • MoveFirst : mueve al primer registro. • MoveLast : mueve al último registro. • Open : realiza la apertura del recordset. • Close : cierra el recordset activo. • Requery : realiza un refresh del recordset. • Save : permite guardar el contenido del recordset en un archivo de formato especifico de ado o bien en xml. • GetRows : transforma el recordset en un arreglo.
Modelo ADO-Recordset • Ejemplo: <% dim con, rec , sqltxt set con = server.createobject(“adodb.connection”) set rec= server.createobject(“adodb.recordset”) con.open “dsn=ver”,”sa” sqltxt=“select * from cliente” set rec= con.execute(sqltxt) while rec.eof=false response.write rec(“rut”) rec.movenext wend con.close set con=nothing set rec= nothing %>
PHP <? mysql_connect("localhost","root","" ); mysql_select_db( "mybase" ); ?> <html> <head> </head> <body> <table border="1"> <? $sql="select * from programa"; $res=mysql_query($sql); while( $row = mysql_fetch_object( $res ) ){ $titulo=$row->titulo; $objetivos=$row->objetivos; ?> <tr> <td><?=$titulo?></td> <td><?=$objetivos?></td> </tr> <?}?> </table> </body> </html>
Include File – Include Virtual • Sirven para modularizar código. • Según el tipo de path con el que se identifique el archivo a incluir deberá utilizar la palabra virtual o file. • Include Virtual: • Hace referencia a un directorio virtual. • Ejemplo: • <!--#include virtual=“/inc/inc.h”-->
Include File – Include Virtual • Include file: • Hace referencia a una ruta física • Ejemplo: • <!--#include file=“c:\inc\inc.h”--> • Se utilizan en los ASP.
Links • Varios: • http://www.lavariable.com • http://www.asp101.asp • http://www.asptutor.com • http://www.arsys.es/soporte/programacion • http://www.devguru.com • http://archive.devx.com/upload/free/features/vbpj/1999/05may99/ds0599/ds0599.asp • http://www.webestilo.com/asp/ • http://www.ciberteca.net/buscar/default.asp?buscar=asp • http://programacion.com/articulo/ale_include/