Post on 21-Jan-2016
description
Capacitación de Herramientas para el Desarrollo WEB
Modulo IX- ASPSesió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
DSN EntryODBC
Data Source Name
DataBase Name
ASP Support
ASP Application.
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,commset con= server.createobject(“adodb.connection”)set comm= server.createobject(“adodb.command”)con.connectionstring=“dsn=ver”con.open ,”sa”comm.activeconnection=conconm.execute (“insert cliente values(‘1’,’2’,’3’)”)con.closeset con=nothingset 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 , sqltxtset 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
wendcon.closeset con=nothingset 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/