INICIO   NOTICIAS Y ARTICULOS   SOBRE ESTE SITIO  
Wednesday, August 20, 2008
EL INTERNET
NEGOCIOS
SOCIEDAD
TECNOLOGIA
SEGURIDAD Y IT
DESARROLLADOR
TODOS
FOROS
TU DIRECCION IP
Comunicados de Prensa
Tiene alguna información que compartir con la comunidad cibernética en Puerto Rico? Déjenos saber! Envíe su comunicado de prensa aquí.

 

 

Noticias y Artículos
DESARROLLADOR

Introducción a Bases de Datos en ASP

Por Ronald Flores, Puerto Rico Internet News

3/11/2008 3:25:48 PM, @3:25:48 PM [ IMPRIMIR] [OPINAR EN LOS FOROS]


Uno de los retos mayores para todo desarrollador de web es poder proveer información dinámica y actualizable. Esto se hace difícil ya que la forma intrínseca en que se maneja una pagina web hace difícil actualizar datos de forma sencilla y practica.

No obstante, existe una manera de manejar datos en línea desde una pagina web utilizando los servicios de datos dinámicos de tu servidor de web para acceder datos almacenados en una base de datos. Existen diferentes metodos y varian de plataforma en plataforma. Algunos ejemplos populares de bases de datos en el web son MySQL, Microsoft SQL Server, PostGRE Sql, y otros. Estas bases de datos sirven como una plataforma para almacenar datos y otros elementos en un archivo, y los servicios de su aplicacion de servidor tienen la capacidad de conectarse a estos archivos a nivel de servidor mediante conectores o proveedores de datos. El mas sencillo es Microsoft Access y lo utilizaremos en este ejemplo.

En este articulo veremos como conectar una pagina de internet en ASP a una base de datos MS Access.Adicionalmente, este articulo asume que usted tiene conocimientos de como crear y abrir un archivo de Access, como crear y editar tablas, y como subir y manejar archivos desde su PC.

Determinando la Data


El paso inicial es determinar el set de datos a ser utilizado. Para este ejemplo, crearemos una base de datos en Access, le llamaremos “misdatos.mdb”. Dentro de este database, crearemos una tabla llamada “misdatos” con los siguientes campos:

fldID: Auto número con INDEX KEY
str_nombre: texto, 50 caracteres de largo
str_apellidos: texto, 50 caracteres de largo
str_email: texto, 50 caracteres de largo



Cuando este lista su base de datos, súbala a alguna carpeta de su servidor. Es muy importante que el archivo este en algun lugar seguro debido a que lo importante es asegurarse de que nadie pueda acceder su base de datos de forma ilegal. Un truco es crear una carpeta que comience con “underscore” como por ejemplo /_db/ debido a que IIS esconde estas carpetas al publico.

Otra consideración es que si usted determina que el archivo será actualizable desde el web, la carpeta donde ubique la base de datos tiene que tener privilegios de leer y escribir (“read and write rights”) para el usuario IUSR de su servidor. Esto puede ser algo complicado. La forma mas sencilla es escoger la carpeta y con su programa de FTP cambie el mode (“CHMOD”, F7 en muchos programas de FTP) de la carpeta a “777”.

Listo. Una vez la base de datos esté en el servidor estamos listos a integrar la misma a nuestra página.

Creando la Conexión


El segundo paso para habilitar con datos su página es creando una conexión al archivo de Access que servirá como puente para enlazar nuestro código con la base de datos. Existen muchísimas formas y diversos proveedores para conectar una base de datos a ASP. En este ejemplo, utilizaremos los elementos del objeto ADODB el cual ya está integrado en su instalación de IIS.

La conexión es un método de ADODB que sirve para conectar la base de datos al objeto de ADO (“Advanced Data Objects”). La siguiente función crea una conexión de ADO a nuestro archivo misdatos.mdb localizado en /root/_db/ y devuelve un objeto de conexión ADO para ser utilizado por otros métodos:

<%
Function get_conn()
Dim str_conn
str_conn = “Provider=Microsoft.Jet.OLEDB.4.0;DataSource=” &
Server.MapPath(“/_db/misdatos.mdb”)
Set oConn = Server.CreateObject(“ADODB.Connection”)
oConn.Open str_conn
set get_conn = oConn
end function

function close_conn(cConn)
cConn.Close
set cConn = Nothing
end function
%>


Haga nota de que en la función, el parámetro de Server.MapPath es el lugar físico donde se encuentra la base de datos, en este caso, /_db/misdatos.mdb. Una vez tenemos esta función, es mas fácil conectar a la base de datos cada vez que necesitemos acceder la misma.

Conectándose a la Base de Datos y nuestro primer RecordSet


Una vez usted se conecta a la base de datos ya puede hacer uso de los elementos de un RecordSet – una colección de datos provenientes de un objeto de datos. Para crear nuestro primer RecordSet (RS), utilizamos el siguiente código:

<%
dim RS, MiConn
set MiConn = get_conn()
inSql = “SELECT * from usuarios”
set RS = MiConn.Execute(inSql)
%>



Veamos lo que hace este código. Primero en la línea dos, definimos los nombres de variables que van a manejar nuestro programa. En la línea 3, llamamos la función que creamos anteriormente (get_conn) y le asignamos el resultado de la función a la variable Conn. En otras palabras, MiConn se convierte en una variable que hace referencia al objeto de conexión que hemos creado.

La línea 4 es un argumento en lenguage SQL (“Simple Query Language”) el cual le dice a la conexión qué elementos de la tabla debe buscar. El ejemplo arriba dice, usando el método SELECT del lenguaje SQL, que escoja todos los elementos dentro de la tabla usuarios. Más adelante hablaremos mas sobre el lenguaje SQL.

El siguiente ejemplo verifica que la conexión haya sido hecha exitosamente y que el RecordSet ha sido abierto correctamente:

<%
Response.write “Se encontraron “ & RS.RecordCount & “ records en la tabla
usuarios.”
%>



Este código usa el elemento .RecordCount el cual devuelve la cantidad de records contenidos dentro del RecordSet, en este caso, 4.

Navegando la Tabla de Resultados (“RecordSet”)


Ya que sabemos cómo conectarnos a una base de datos Access y cómo abrir una tabla de resultados o RecordSet, veamos como navegar los records dentro de la tabla. El siguiente ejemplo utiliza un método muy importante llamado MoveNext.

<%
do until RS.EOF
response.write RS(“str_nombre”) & “”
RS.MoveNext
loop
RS.MoveFirst
%>



En este ejemplo utilizamos el método DO para hacer un proceso recursivo, con la condición RS.EOF. En otras palabras, todos los argumentos contenidos entre el marcador DO y el limtiador LOOP serán ejecutados recursivamente hasta que la condición establecida en el DO se cumpla. EOF es un marcador que señala que se ha llegado al final del archivo o al final del RecordSet, en cual caso .EOF será TRUE. En nuestra tabla de muestra tenemos cuatro elementos, por lo cual el script correrá estas instrucciones cuatro veces.

No obstante, en la línea 3 vemos la forma de llamar el contenido de un campo dentro de la tabla, usando el nombre del campo como parámetro. En la línea 4, vemos el comando .MoveNext. Este comando isntruye al RecordSet a moverse al próximo Record. En este caso, como la condición del DO ... LOOP es EOF, si no avanzamos al próximo record el programa entra en un loop infinito, siendo este uno de los errores más realizados por programadores de ASP. De igual forma, la instrucción MoveFirst mueve el RecordSet al primer record en el resultado.

Usando Variables



Usted también puede almacenar el contenido de un campo del record en variables para poder ser reutilizadas mas adelante.

<%
Do until RS.EOF
str_nombre = rs(“str_nombre”)
str_apellidos = rs(“str_apellidos”)
str_email = rs(“email”)
%>
Nombre: <%=str_apellidos%>, <%=str_nombre%> (<%=str_email%>)

<%
RS.MoveNext
Loop
%>



En el ejemplo anterior, expandimos las instrucciones dentro del DO...LOOP. De forma inicial (líneas 3 al 5) almacenamos los contenidos de los campos a tres variables reutilizables. Luego, dividimos el bloque de código para utilizar instrucciones dinámicas dentro de HTML para reemplazar las variables insertadas, luego en la línea 11 llamamos MoveNext. Esto nos permite ser mas creativos al
momento de utilizar datos dentro de la base de datos en código HTML convencional, ya que al cerrar el area de codigo ASP en la línea 6 a la 9 podemos utilizar código HTML regular pero aún así integrar variables de ASP usando el atajo <%=nombreVariable%>.

Limpiando y Cerrando Todo


Un elemento muchas veces olvidado por muchos programadores de ASP es que es necesario dejar todo recogido después de terminar un proceso o un programa. En el caso de objetos de datos no es ninguna diferencia. De hecho, uno de los problemas principales de los servicios de ADO de Microsoft IIS es lo que se conoce como fugas de memoria o “memory leaks”. Esto sucede cuando olvidamos cerrar o destruir objetos en memoria luego de utilizarlos. La forma correcta de limpiar todo luego de finalizar con el objeto de ADO es cerrarlo y luego hacerle un set a ‘Nothing’.

<%
RS.Close
MiConn.Close
set RS = nothing
set MiConn = nothing
%>



Eso es todo por este artículo, ¡pendiente a más artículos de interés para el programador solo en Puerto Rico Internet News!


Este artículo ha sido visto 613 veces.
Más artículos y Noticias
Noticias Relacionadas
SP1 de Vista se cuelga con Universidad de Pennsylvania 3/22/2008 8:33:23 AM
Comentarios
"FFFGFGFGF"
Posted 5/28/2008 11:00:00 AM Por sdfsdfdf [189.132....]
xccxczxcxcxccccx

"FFFGFGFGF"
Posted 5/28/2008 10:59:30 AM Por sdfsdfdf [189.132....]
xccxczxcxcxccccx

"SET NOTHING AL RS Y A LA CONN?"
Posted 3/12/2008 9:03:34 PM Por BCastillo [64.213.1...]
En la ultima parte de este artículo dice que hay que set = Nothing tanto el RS como la conexión. Pero al cerrar la conexión, no se hace automáticamente nothing el RS? Y viceversa?

Evalúe Este Artículo
Evalúe: Poco interés1 2 3 4 5 ¡Muy interesante!
Título:
Por:
Comentarios:
(Max 255 chars)

Anuncios
©2008 PuertoRico Internet News. Todos los derechos, reservados. Prohibida la reproducción de cualquier material sin permiso del autor. Para información adicional, comuníquese a articulos@printernetnews.com
Noticias Anteriores
Tips y Trucos >> Windows XP / Vista

Cómo usar la función de 'Hibernate' en Windows XP

Si usted enfrenta diariamente el problema de cuando enciende su computadora cargada con WindowsXP, ¿...
7/19/2008 10:04:31 AM
Seguridad y IT >> Sistemas Operativos

Compradores de PCs no sueltan a Windows XP

El pasado 30 de junio, la mega empresa Microsoft "oficialmente" terminó de tener disponible el siste...
7/16/2008 9:12:38 PM
Sociedad >> Gobierno y Leyes

Gobernador firma enmiendas al IVU

Durante la Convención de la Cámara de Mercadeo, Industria y Distribución de Alimentos (MIDA), el gob...
7/14/2008 8:39:04 PM
Negocios >> Comercio Electrónico

Doral se lanza a la conquista de Internet

En Puerto Rico existen 1.24 millones de usuarios de Internet y en el 2015 se estima que la mitad de ...
7/14/2008 8:27:36 PM
Internet >> Sitio del Mes

Conozca sobre PuertoRicoExplore.com

Puerto Rico Internet News tiene como propósito el ofrecer información relevante para toda persona qu...
7/10/2008 12:17:52 AM
Tecnología >> Celulares y Equipos Móviles

A la vuelta de la esquina el iPhone 3G

Con el anuncio de la disponibilidad de la nueva generación del iPhone, Apple se prepara a abrir tien...
7/8/2008 10:21:35 PM
 

- Attractions and Sights in Puerto Rico

- MP3 and Media Players

- Freeware software

©2007 Puerto Rico Internet News | InternetNewsPR.com
Puerto Rico Tourism | Freeware Software | Cine en Puerto Rico