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.
La 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.
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. [email protected]
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:
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. [email protected] [email protected]
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
¡Hola! estoy segura que me ayudara a comprender mejor asp. Gracias.
fue muy util
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
Muy bueno
esta super claro este informe, nos enseña mas claro que cualquier otro
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
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???
waw, esta super bien.
Es un articulo,interesante,practico y efectivo, me ayudo mucho.
en que programa se ejecutan
hola,necesito aprender a programar asp desde 0 hay algun manual ?
me ayudo, gracias
le falta un poco mas de ejemplos mas ilustrativos
Buy Bueno, Muy Claro
esta muy bien explica paso a paso como hacer la conexion
muy bien explicado
Este site me agrada, es didactico y de mucha utilidad.
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
quisiera una conexion asp con flash
“Bases de datos” != “Access”
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!
Ingeniero me puede explicar como hago correr este ejercicio, guardo el codigo en el block de notas con que nombre. No entiendo
Gracias
El articulo me resulta muy interesante y bastante útil, deberia de haber más articulos así.
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.
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
Excelente nota de ayuda. Un abrazo.
Y respecto a esto, para DotNetDeveloper
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.
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
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/
Soy novato y aun no me he registrado, “obvio” pero no dejo de felicitar por el articulo sencillo y muy bien explicado.
el codigo seria el mismo si trabajo con una base de datos de sql?
gracias
SI ES BASICO PERO LO IMPORATANTE ES QU ES ENTENDIBLE.
me parece bien
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
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
COMO REALIZO UNA CONEXION CON ASP EN DREAMWEAVER
POR FIS QUE SEA PASO A PASO
GRACIAS.
decirle que es muy util y que por favor nos den mas ayuda con lo que es asp en base de datos
por favor si dejaran un apagina completa tipo descarga relacionando una base de datos tipo formularios; para nosostros seria lo mejor!!!; porq
kieren aprender, vayan a http://www.hackutilidades.ar.tc jeje
Necito leer una bd desde un frame atraves de un form, pero solo me visualiza la tabla sin datos. A q se debe???
EXCELENTE, ME PREPARA PARA ENTENDER COSAS MAS COMPLEJAS, SIGAN ASI…SALUDOS
Esta muy bien
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
Que Dios te Bendiga Amigo….
y Gracias por esto….
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
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
hola solo me gustaria que proporcionaran mas ejemplos pss abeces nos piden investigar bases de datos i no hay si porfa…..bye
hola solo me gustaria que proporcionaran mas ejemplos pss abeces nos piden investigar bases de datos i no hay si porfa…..bye
Esta muy bueno el instructivo.. gracias
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…..
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
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
[email protected]
[email protected]
[email protected]
ATTE.
FROILAN SARAVIA
SOY DE LIMA PERU
9 su 10! Ottenerlo! Siete buoni!
Grande sito!!
[…] ver tutorial […]
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….
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.
[email protected]
muchas gracias por publicar el codigo,
Excelente articulo Cristian esta muy digerible; gracias y sigue asi
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
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
%>
Muy bien se explica detalladamente lo que se hace
muy bueno. Desde Paraguay Saludos. Atte., Marcial Estche
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 (0x80004005)
La operación debe usar una consulta actualizable.
se debe a la configuracion makina o no?
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…
ojeda!! en todo caso sera:
“base de datos””Access”
=P
muy bien que bueno excelente
la pedagogia que tienes bien eso es enseñar
wilson
y si queremos que muestre imagenes…
disculpen la pregunta pero en verdad soy nuevo en esto….
saludos
Aqui les dejo mi mi pagina web con mucho diceño y muy buena musica , no se ban a arrepentir.
ME SIENTO ORGULLOSA DE ESTE COLEGIO Y ESPERO LLEVARLO 100PRE EN MI ♥♥ PARA MI HA SIDO UNA EXPERIENCIA UNICA , MUY PROVECHOSA .
ESTE QUE NOS VAMOS TODA LA PROMOCUION , POR MI PARTE ME SIENTO TRISTE PERO ESTOY SEGURA QUE HARE QUEDAR BIEN A MI COLGIO DE TODA LA VIDA.
GRACIAS UNIO LATINOAMERICANA
ACUERDENCE DE NOSOTROS.5TOB LA MEJOR PROMOCION DESDE UN INICIO
“LAS OPOTUNIDADES QUE NOS DIO EL LATINO NUNCA NADIE NOS LO VOLVERA A DAR “
amo a orlando!
ada la de progra 5°B?
amo a alejandro
yo amo a moyo
A mi me ha ayudado mucho. No soy programador, soy economista, y ahora ya no tengo tiempo de empezar otra carrera, asi que agradezco mucho estas explicaciones sencillas (casi a modo tutorial) y completamente comprensibles.
Gracias.
ONVrro dyhgbwdsheii, [url=http://ncvpgqmhwsve.com/]ncvpgqmhwsve[/url], [link=http://sgsfpmpluwbr.com/]sgsfpmpluwbr[/link], http://samjrjvezbxo.com/
Por fin logre ke funcionara me faltaban varios detalles, y no tenia idea de ke podia estar mal, no entendia el codigo, pero ya me kedo claro, ke ariamos los estudiantes sin los foros y ayudas de este tipo
Gracias!
Buenas Tardes, queria consultarles en caso de que quiera hacer un lsitado de esa base y solamente mostrar los nombres que son a Juan y los demas no…como lo tendria que hacer???
estoy programando en jsp pero no me puedo conectar ala base de datos Acces 2003 porfavor me pueden ayudar
excelente pedagogia!!!! no habia encontrado mejor explicacion que esta. Gracias
hola muy bueno el informe, te consulto yo quiero leer una base de access que tiene latitudes y longitudes y verlas automaticamente en html ya que cambian costantemente, me recomendarias alguna forma ya que estoy muy perdido, desde ya muchas gracias por tu tiempo
Realmente muchas gracias, me ayudo mucho sta pagina.
Gracias y buena suerte.