Un espacio para los entusiastas del web

Lectura de Bases de Datos con ASP

Un tutorial para implementar código ASP que nos permita leer una base de datos, con lo que generaremos contenidos en forma dinámica

El ASP nos ayuda a darle dinamismo a nuestros sitios con la construcción de páginas dinámicas. Una de sus cualidades más importantes, es su interacción con bases de datos.

En el siguiente taller leeremos los contenidos de una base de datos Access que contiene 3 campos: Nombre, Email y URL, con los que alimentaremos unas tablas para nuestras páginas.

Ejemplo aspLa base de datos que utilizamos será ejemplo.mdb (botón derecho y salvar como para descargar).

Y para facilitar el entendimiento del ejemplo, se comentará directamente en el código ASP para una mejor explicación. Recuerden que para comentar el código en ASP, se utiliza una comilla simple (’).

	<HTML>
    <HEAD><TITLE>Leyendo una base de datos de Access con ASP</TITLE></HEAD>
    <BODY> 

<TABLE BORDER="1">
<TD><B>Nombre<B></TD>
<TD><B>Email<B></TD>
<TD><B>Url<B></TD> 

<%
Dim conexion, registros, basedatos
' El primer paso consiste en declarar algunas variables que nos serán de utilidad.

' De estas tres variables, utilizaremos la primera para nuestra conexión a la base de datos, la segunda para seleccionar los registros y la tercera  para ingresar la dirección donde se encuentra nuestra base de datos.

basedatos = Server.MapPath("ejemplo.mdb")

' En la asignación anterior, la instrucción Server.Mappath nos da el Path completo en el servidor hacia el archivo ejemplo.mdb que se encuentra en el mismo directorio que el ejemplo.

' También se puede utilizar el path completo para definir esta variable que quedaría algo así:

' basedatos = "c:\Inetpub\wwwroot\ejemplo.mdb"

Set conexion = Server.CreateObject("ADODB.Connection")

' Declaramos nuestra conexión a bases de datos.

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & basedatos & ";"

' Abrimos la conexión a través del OLE Driver., indicandole la dirección de la base de datos por medio de la variable que declaramos algunas líneas antes.

' Así como utilizamos el OLE Driver, también pudimos utilizar una conexión por medio del ODBC y un DNS declarado en el sistema, aunque este Driver es el más rápido y recomendado para utilizar.

Set registros = conexion.Execute("SELECT * FROM Ejemplo ORDER BY Ejemplo.Nombre")

' A continuación, declaramos en registro los datos que estaremos seleccionando en la base de datos.

' Por medio de lenguaje SQL Seleccionamos todos los campos de la tabla Ejemplo, ordenándolos por el campo Nombre.

Do While Not registros.EOF

' Para empezar a mostrar los registros, utilizamos un CICLO que se repetirá mientras no lleguemos al final de los registros encontrados.

' Luego de esto, iremos tomando los valores de la base de datos e imprimiéndolos dentro del HTML.

%>

<TR>
<TD><%= registros.Fields("Nombre").Value %></TD>
<TD><A HREF="mailto:<%= registros.Fields("Email").Value %>"><%=registros.Fields("Email").Value %></A></TD>
<TD><A HREF="<%= registros.Fields("URL").Value %>"><%= registros.Fields("URL").Value %></A></TD>
</TR>

<%
registros.MoveNext

Loop

' Cada vez que se ejecuta el ciclo, le pedimos por medio de .MoveNext que pase al siguiente registro encontrado

' La instrucción Loop es la que indica hasta donde debe de repetirse el ciclo.

registros.Close

Set registros = Nothing

conexion.Close

Set conexion = Nothing

' Algo muy importante que debemos recordar es cerrar nuestras conexiones, para no dejar la base de datos abierta.

' Para esto, primero la cerramos por medio de .Close y a continuación es recomendable declararles valores de "nada", para dejar las variables limpias. 

%> 

</TABLE>
      </BODY>
      </HTML>

Como apreciamos, el comunicarse con una base de datos no es tan complicado y nos permite crear páginas con contenidos que pueden estar actualizándose fácilmente por medio de actualizaciones a la base de datos y no a nuestros archivos HTML.

Otros artículos relacionados

Califica esta nota:

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (10 votos, promedio: 5 de 5)
Loading ... Loading ...
69 comentarios en total.

Comentarios

  1. Ing Victor Pereira

    Espectacular por su sencilles precisión y realmente ilustra y da resultado. Antes de este artículo perdía mi tiempo con otros cuyo código u explicación ni de lejos se aproximan a la eficacia de éste. DE VERDAD MUCHAS CRACIAS. Atentamente: Ingeniero Victor Pereira. victoramadis69@hotmail.com


  2. DotNetDeveloper

    Debería mejorar la calidad de sus contenidos y no poner cosas tan pero tan básicas. Una verdadera lastima que esta comunidad en lugar de estar enfocada a Webmasters profesionales en todo momento se de la apariencia de que es para newbies.

    A ver si ya suben el grado de dificultad de sus contenidos :abajo:


  3. Unregistered

    Existe una imbécil mediocridad en personas que sólo critican y nada aportan costándole enviar un sólo comentario positivo. El mundo está plagado de imbéciles que sólo critican o creen poder destruir. ¿Temas?: PERL, PHP, CGI-MAIL, SEGURIDAD DE BASES DE DATOS EN ASP, ASPmail, Java, HTML Dinámico, Flash (aunque no me gusta flash), estructura y diseño de páginas webs, Internet y mercadeo, son algunos d elos temas a los que quedo abierto para productiva, sana, y técnicamente elevada discución. Atentamente: Ingeniero Victor Pereira. victoramadis69@hotmail.com dobermann71@hotmail.com


  4. Tukzone

    Ingeniero Victor Pereira,

    Gracias a su sitio descubri que en algunos casos la inteligencia artificial supera la del ser humano.

    Gracias por ilustrarlo tan claramente en su sitio Victor Pereira


  5. Lavná

    ¡Hola! estoy segura que me ayudara a comprender mejor asp. Gracias.


  6. Unregistered

    fue muy util


  7. Carlos Canchola

    me parecio bastante descriptivo pero no me da los valor, podrían poner un ejemplo de la corrida. para versi realmente hace lo que piden


  8. Unregistered

    Muy bueno


  9. juan jimenez

    esta super claro este informe, nos enseña mas claro que cualquier otro


  10. Max

    Muy interesante articulo yo soy novato en esto y me gustaria que publicarán a cerca de como agregar registros a una base de datos. gracias


  11. Unregistered

    Mensaje Original por DotNetDeveloper
    Debería mejorar la calidad de sus contenidos y no poner cosas tan pero tan básicas. Una verdadera lastima que esta comunidad en lugar de estar enfocada a Webmasters profesionales en todo momento se de la apariencia de que es para newbies.

    A ver si ya suben el grado de dificultad de sus contenidos :abajo:

    Nunca falta un cabron diciendo cosas como esta… una pagina para webmasters debe estar enfocada a principiantes, intermedio y avanzado…

    se te olvida que fuiste principiante???


  12. Juani

    waw, esta super bien.


  13. César Olivares

    Es un articulo,interesante,practico y efectivo, me ayudo mucho.


  14. yaraneth

    en que programa se ejecutan


  15. armando

    hola,necesito aprender a programar asp desde 0 hay algun manual ?


  16. sergio

    me ayudo, gracias


  17. cata

    le falta un poco mas de ejemplos mas ilustrativos


  18. Flavio

    Buy Bueno, Muy Claro


  19. Ali Diaz

    esta muy bien explica paso a paso como hacer la conexion


  20. jorge

    muy bien explicado


  21. CALIN

    Este site me agrada, es didactico y de mucha utilidad.


  22. gprietof@hotmail.com

    De esta misma manera me podria explicar como llamo a una base de datos (acces)que esta en el servidor desde flash… es una consulta de provedores…. pero npo quiero tocar la base de datos… solo quiero hacerlo todo desde flash


  23. Unregistered

    quisiera una conexion asp con flash


  24. Ojeda

    “Bases de datos” != “Access”


  25. krolin

    Si me puede ayudar alguien

    No me sale con el codigo que poneis y la base de datos. Tengo hechos varios formularios que acceden a la base de datos con conexion DSN y funcionan al hacerlo en local y con la base de datos k se instala con el IIS. Pense que iba a ser más facil subirlo al servidor y que funcionase… El servidor es domaindlx.com y hay una serie de restricciones de las que destaco :

    Si usted está escribiendo a una base de datos, asegurarse de que esta en el/USERNAME/database/directory. ESTO ES IMPORTANTE; es el único directorio donde pueden colocarse las bases de datos para ser escritas.

    Asegurarse usa el DSN-Less connection method.

    Asegurarse de que no usa Comandos SQL para escribir, ellos no casan bien con el objeto ADO usado para trabajar con las bases de datos, en mi opinion.
    Codigo de index.htm :



    < % Dim Conn, RS
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set RS = Server.CreateObject("ADODB.Recordset")
    DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
    DSNName = DSNName & Server.MapPath("/dekrolin/database/basededatos.mdb")
    Conn.Open DSNName
    sql = "SELECT Lastname FROM Employees"
    RS.Open sql, Conn, 3, 3%>


    < %
    RS.Close()
    %>

    El error sera garrafal lo sé, pero lo soportare!


  26. Carlos Pinzon

    Ing Victor Pereira, Espectacular por su sencilles precisión y realmente ilustra y da resultado. Antes de este artículo perdía mi tiempo con otros cuyo código u explicación ni de lejos se aproximan a la eficacia de éste. DE VERDAD MUCHAS CRACIAS. Atentamente: Ingeniero Victor Pereira. victoramadis69@hotmail.com

    Ingeniero me puede explicar como hago correr este ejercicio, guardo el codigo en el block de notas con que nombre. No entiendo

    Gracias


  27. bertux18

    El articulo me resulta muy interesante y bastante útil, deberia de haber más articulos así.


  28. Nestor Guedez

    Necesito sumar una variable la cual depende de un codigo, ejemplo sumar solo los aumentos de una partida, sabiendo que el campo tipo puede ser 001 (aumentos) 002 (disminuciones).
    Gracias.


  29. adc1969

    Será muy básico para algunos, pero a mi no me funciona, alguien me puede ayudar.
    Trabajo con Dreamweaver MX, primero configure servidor Web en mi equipo IIS
    luego fui probando y cree una pagina con esto:

    This page was created at
    < %= Time %>
    on the computer running ASP.

    un ejemplo que trae le Dreamweaver MX, y pude ver la pagina en mi PC, pero no puedo hacer andar el ejemplo. :’(
    Gracias


  30. No Registrado

    Excelente nota de ayuda. Un abrazo.

    Y respecto a esto, para DotNetDeveloper

    DotNetDeveloper, Debería mejorar la calidad de sus contenidos y no poner cosas tan pero tan básicas. Una verdadera lastima que esta comunidad en lugar de estar enfocada a Webmasters profesionales en todo momento se de la apariencia de que es para newbies.

    A ver si ya suben el grado de dificultad de sus contenidos :abajo:

    Parece que eres una persona preparada, pero te falta tanto sabiduría como humildad.

    No cabe duda que el estudio no quita lo pendejo, sólo lo ignorante.


  31. NEGROCHENI

    Esta Muy Buena La Ilustracion De Como Agregar Dinamismo A Tu Html, Sin Duda Me Sera De Mucha Utilidad Pero Me Gustaria Saber Como Hacerlo Con Una Tabla Dinamica.

    Juan Pablo Vejar
    Analista Programador


  32. Carancor

    Gracias por el dato de la pagina esta muy bien y creo que quien hizo el articulo merece mis felicitaciones y la de todo el grupo de ingenieros con los que trabajo, pues hay gente que a pesar de todos sus que haceres se da el tiempo de escribir articulos sumamente pedagogicos, muchas gracias….

    Quisiera agregar algo mas… al imbecil que critico la pagina…
    Sabes, cuando uno piensa que todo lo sabe se transforma en una caja cerrada, incapaz de seguir aprendiendo… tu realmente lo eres… un ignorante del aprendisaje… ojala y las cosas que sepas te sirvan para algo mas que presumir tu “conocimiento” en el tema… pero te aseguro que en muchas otras cosas eres un perfecto ignorante.
    Gracias por la gente como tu, hecen que me de cuenta de que yo aun con toda mi experincia debo ser humilde y segir aprendiendo de los demas…

    http://claudioarancibia.tripod.cl/


  33. No Registrado

    Soy novato y aun no me he registrado, “obvio” pero no dejo de felicitar por el articulo sencillo y muy bien explicado.


  34. No Registrado

    el codigo seria el mismo si trabajo con una base de datos de sql?
    gracias


  35. MEG_*

    SI ES BASICO PERO LO IMPORATANTE ES QU ES ENTENDIBLE.


  36. 123456

    me parece bien


  37. Jose Luis Palomino Gonzal

    Respondiendo al dizque guru de informatica: Mira hijito, el que tu seas el gran que lo sabe todo y todo lo ve, no quiere decir que empresarios que tenemos conocimientos bases y queremos saber, seamos excluidos de tu “elite”, yo he buscado esta info por cas 4 meses para no contratar a gente alzada como tu que dizque me crea una bd me cobro 850 euros y es un zafarrancho completo. Al autor de la pagina. Gracias, hay los que queremos saber y aprender a crear nuestras propias bd con interfaz web, ed acuerdo a nuestras necesidades, sin contar, con tratar, ni desperdiciar dinero con “cerebritos obsesivos” como el antedicho “guru” del software. Gracias nuevamente, y llevaba casi 3 mese buscando exactamente esto. Atte. Luis


  38. jandrox

    bueno estoy copiando el texto por me di cuenta q no se podia lerr,, q astutos………..y en 5 min mas los leo y dy el comentario final,nos vemosssssss


  39. MARIA

    COMO REALIZO UNA CONEXION CON ASP EN DREAMWEAVER
    POR FIS QUE SEA PASO A PASO
    GRACIAS.


  40. jeymi (perú)

    decirle que es muy util y que por favor nos den mas ayuda con lo que es asp en base de datos


  41. No Registrado

    jeymi (perú), decirle que es muy util y que por favor nos den mas ayuda con lo que es asp en base de datos


  42. La Bestia

    por favor si dejaran un apagina completa tipo descarga relacionando una base de datos tipo formularios; para nosostros seria lo mejor!!!; porq


  43. yofranky

    kieren aprender, vayan a http://www.hackutilidades.ar.tc jeje


  44. DianaGabriela

    Necito leer una bd desde un frame atraves de un form, pero solo me visualiza la tabla sin datos. A q se debe???


  45. CAT435

    EXCELENTE, ME PREPARA PARA ENTENDER COSAS MAS COMPLEJAS, SIGAN ASI…SALUDOS


  46. Christian R.

    Esta muy bien


  47. Chepe

    Hola me dirijo a DotNetDeveloper despues de haber leido el comentario que hizo, y viendo que es la unica persona insatisfecha para hacerla una sola pregunta y es si es que el nació sabiendo? gracias


  48. superraton

    Que Dios te Bendiga Amigo….

    y Gracias por esto….


  49. JUAN CON PROBLEMAS

    el ejemplo es simple y didactico pero cuando lo grabo con extension *.asp y lo ejecuto en el explorador no sale nada. seguro estoy mal en algo… puedes ayudarme


  50. vanesita con ganas de apr

    Hola, estoy muy satisfecha con el ejemplo que estas plasmando en este website, me gustaria que sigas dando mas ejemplos de programacion ya que deseo aprender aun mas y no des importancia los rumores de algunos lerdos que solo se dedican a criticar sin dar na da a cambio, que solo esperan en su sentado todo. QUE DIOS TE BENDIGA


  51. yadira sin ejem

    hola solo me gustaria que proporcionaran mas ejemplos pss abeces nos piden investigar bases de datos i no hay si porfa…..bye


  52. yadira sin ejem

    hola solo me gustaria que proporcionaran mas ejemplos pss abeces nos piden investigar bases de datos i no hay si porfa…..bye


  53. Andres

    Esta muy bueno el instructivo.. gracias


  54. DotNet SHIT

    Algunos creen ser dueños de la verdad absoluta pero atención amigos míos, nadie nace sabiendo por tal razón no deben discutir acerca de si uno o mas seres critican los contenidos del site. Eso es inherente al ser humano aparentemente (me refiero a la crítica malintencionada). Conjuntamente a esto, deseo invitar a mi amigo DotNet Developer que cree un site de información ASP.net para como él dice, WEBMASTERS seniors, ya que al menos yo, siendo un pobre y simple MCSE 2003 que se orienta a la seguridad IT, aun no he entrado en la programación de ASP y es más (jaja) me tomó cerca de 7 horas establecer una conexión a BBDD con Dreamweaver (jaja) por lo tanto, con gusto evaluaremos tu trabajo ASPnet Developer. En fin, de todo hay en la viña del señor…saludos cordiales a los newbies ya que yo tb lo fui la primera vez que escuché lo que era una RACE CONDITION… Saludos a la comunidad y gracias verdaderas..
    ProJekT…..


  55. miguel

    no le digan tantas cosas al guru con esto basta
    setenta hijo de puta gonorrea bastardo no sabra un culo y se las viene a dar piltrafa homosexual


  56. FROILAN SARAVIA

    MUY BIEN EN MANUAL, PERO DESEO HACERLE UNA CONSULTA.
    YO TRABAJO EN UN COLEGIO Y TENEMOS UN SISTEMA DE NOTAS DEL MINISTERIO DE EDUCACION Q NOS ENTREGAN, LA BASE DE DATOS ESTA EN ACCESS Y TIENE CLAVE DE APERTURA (PIDE CLAVE CUANDO SE QUIERE ABRIRLA PARA VER LOS DATOS). LO Q DESEO ES LO SIGUIENTE:
    1. TENEMOS UNA PAGINA WEB DEL COLE
    2. DESEO SABER COMO HACER PARA HACER LA CONSULTA DE NOTAS DE ALUMNOS (ES DECIR, Q EL ALUMNO INGRESE SU CODIGO Y CLAVE Y AUTOMATICAMENTE LE ARROJE SUS NOTAS DE TODOS LOS CURSOS DEL BIMESTRE O TRIMESTRE ACTUAL).
    3. TODO ESTO O QUIERO HACER A TRAVES DE LA PAGINA WEB DEL COLEGIO.

    LA PAGINA WEB ES http://WWW.IEUL1235.COM

    POR FAVOR CUALQUIER CONSEJO Q ME PUDIERA AYUDAR ESCRIBANME A

    SARAVIAINGENIEROS@YAHOO.ES
    FROILANS21@HOTMAIL.COM
    SARAVIAINGENIEROS@GMAIL.COM

    ATTE.

    FROILAN SARAVIA

    SOY DE LIMA PERU


  57. 9 su 10! Ottenerlo! Siete buoni!



  58. muy buen ejemplo, necesito alguien me ayude con este dilema
    Estoy usando Combos enlazados donde uno depende del otro Empresa, Sucursal, Producto
    los valores que selecciona el usuario me los llevo a otra pagina asp, ahi hago una busqueda segun los parametros seleccionados pero me gustaria separar los datos de cada empresa es decir si en el combo la seleccion es empresa1 aldarle click al boton se redireccione a empresa1,asp con todos los datos seleccionados (empresa,sucursal,producto) pero si selcciono empresa2 este se dirija a empresa2.asp con sus datos , estoy usando el metodo Get para pasar datos alguien me puede ayudar …Por cierto este espacion es para pricipiante,medios Avanzados y mediocres como aquellos que critican y no aportan Gracias….


  59. fabian

    Necesito solo mostrar unas variables de una base de datos, estas variables estan en la misma tabla.
    Tengo nombre de la base de datos, usuario, y password.
    La direccion tambien, la tengo.
    La necesidad es mostrar estas variables en la pantalla.
    Creo que lo mejor seria flash,
    Alguna sugerencia de como empezar?
    Desde ya, infinitas gracias.
    Fabianlimones@crownmx.com


  60. leila

    muchas gracias por publicar el codigo,


  61. Avedefuego

    Excelente articulo Cristian esta muy digerible; gracias y sigue asi


  62. raysu

    hola estoy empezando con asp y bases de datos, tengo un problama al hacer una conexion con mi base de datos en asp,
    me marcar un error y me dice k mi base de datos es de solo lectura:

    weno espero k su ayuda, ya le kite los atributos de solo lectura a mi base de datos en acces y me sigue marcando lo mismo, el error me lo marca en el:
    AddNew

    grax y saludos es uan exelente pagina de yuda


  63. raysu

    no salio el codigo aki esta:

    Nombre=Request.Form(”Nombre”)
    Apellido=Request.Form(”Apellido”)
    Email=Request.Form(”Email”)
    Password=Request.Form(”Password”)

    Set Con=Server.CreateObject(”ADODB.Connection”)
    Set RS=Server.CreateObject(”ADODB.RecordSet”)
    Set RS2=Server.CreateObject(”ADODB.RecordSet”)
    Con.Open “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\practica1\coDSN.mdb”

    RS.Open “SELECT * FROM Usuarios”, Con, 1,2
    RS2.Open “SELECT * FROM Usuariospassword”, Con, 1,2

    RS.AddNew
    RS(”Nombre”)=Nombre
    RS(”Apellido”)=Apellido
    RS.Update

    RS2.AddNew
    RS2(”Nombre”)=Nombre
    RS2(”Email”)=Email
    RS2(”Password”)=Password
    RS2.Update

    RS.Close
    RS2.Close
    Con.Close
    Set RS=Nothing
    Set RS2=Nothing
    Set Con=Nothing
    %>


  64. Ismael

    Muy bien se explica detalladamente lo que se hace


  65. Marcial Estche

    muy bueno. Desde Paraguay Saludos. Atte., Marcial Estche


  66. MELISSA

    en mi makina me permite dar mantenimiento a tablas de la bd, pero lo ejecuto en la mak de mi institucion y sale errr:
    Tipo de error:
    Microsoft JET Database Engine (0×80004005)
    La operación debe usar una consulta actualizable.
    se debe a la configuracion makina o no?


  67. oscar

    bueno estos ayudas siempre vienen bien para las personas q quieran aprender.

    aunq estaria bien q empiecen aprendiendo directamente a usar correctamente los nombres como x ejemplo oConn en vez de “basedatos” y oRs en vez de simplemente “conexion”, bueno esto no es tan importante.

    pero lo que si me gustaria es que publiquen un tema relacionado a la seguridad de la base de datos, ya que cualquiera q sepa donde esta alojada nuestra db podria descargarla y obtener todos los datos que hayamos ingresado en las tablas…


  68. oscar

    ojeda!! en todo caso sera:

    “base de datos”"Access”

    =P


Deja tu Comentario

Maestros del Web se reserva el derecho de moderación de los comentarios. Evita utilizar palabras soeces, ataques directos, descalificativos, insultos, de lo contrario tu comentario será eliminado.


Sobre el Autor

Christian Van Der Henst S.

Christian Van Der Henst S.
Emprendedor, viajero apasionado y entusiasta del uso y promoción de tecnologías web como herramientas de educación y desarrollo social.

Más artículos de Christian Van Der Henst S.
Escrito el:
04.11.2001

Archivado en:

Lecturas:
92,390

Anuncios por Q

Las Notas en tu correo


Acerca de

Maestros del Web nace cuando intentamos traducir Webmaster al Español. Nacimos orientados al diseño y desarrollo web. Hoy somos un espacio de apoyo para los entusiastas que participan en proyectos en la red.
Leer más de Maestros del Web