Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/02/2005, 10:09
Avatar de ludovico2000
ludovico2000
 
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 21 años, 6 meses
Puntos: 2
Aquí tienes un mini-manual sobre uso de ASP con bases de datos. A mí me ha sido de mucha utilidad:
Código:
Abrir bases de datos:
'Creamos las variables para guardar los datos
Dim conexion,tabla
'Creamos la conexion a la BD
Set conexion=Server.CreateObject("adodb.connection")
'Abrimos la conexión con el driver de access (No es necesario hacer DSN)
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("nombre-de-la-base.mdb")
'Le decimos que abra la tabla que queremos usar para la base
Set tabla=Server.CreateObject("adodb.recordset")
'hacer la selección de la tabla ordenándola por fecha descendente. Para otro tipo de selecciones, buscar condiciones SQL
ssql = "SELECT * FROM tabla ORDER BY fecha desc;"
'aquí abre la tabla ordenándola
Tabla.Open ssql,Conexion

Mostrar bases de datos:
<table border="0" width="280">
'Hasta que la tabla no acabe:
do while not tabla.eof
'El response.write se usa para escribir código dentro del ASP
'(Todo lo que escribamos no puede llevar comillas dobles, pero sí simples e incluso poner " & chr(34) & ", lo cual escribe " ya que 34 es el ascii de ")
'(El principio del response se define abriendo comillas y para cerrarlo cerrando las
'comillas)
response.write "<tr><td valign=top align=left><font face=Arial size=1 color=#000000><u>De</u>: <b><a href=mailto:" & tabla ('mail') & ">" & tabla ('nombre') & "</a></b></font></td></tr>"
response.write "<tr><td valign=top align=left><font face=Arial size=1 color=#000000><u>Mensaje</u>:<br><b>" & tabla ('comentario') & "</b></font></td></tr>"
'Nos vamos al registro siguiente de la tabla
tabla.movenext
'Hacemos el loop para que siga mostrando los registros que hayan coincidido
loop
'Cerramos la tabla de HTML
response.write "</table>"
'Cerramos la tabla de la base de datos
tabla.close
'Cerramos la conexión a la BD
conexion.close

Meter registros en la BD:
Set conexion=Server.CreateObject("adodb.connection")
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("nombre-de-la-bd.mdb")
Set tabla=Server.CreateObject("adodb.recordset")
'Hay quien dice que hay que poner lo de ,3,3 para que podamos escribir en la BD, pero yo he podido sin ponerlo :pensando: 
Tabla.Open "tabla",Conexion,3,3
'Le decimos a la BD que vamos a meter cosas
tabla.addnew
'Ahora sacamos del formulario lo que vamos a meter y le decimos en qué campos de la tabla vamos a hacerlo
tabla ("titulo") = request.form ("titulo")
tabla ("direccion") = request.form ("direccion")
tabla ("descripcion") = request.form ("descripcion")
tabla ("imagen") = request.form ("imagen")
tabla ("id") = request.form ("id")
tabla ("pass") = request.form ("pass")
'Hacemos que la base se actualice
tabla.update
'Cerramos la tabla de la BD
tabla.close
'Cerramos la conexión a la BD
conexion.close

Borrar registros de la base de datos:
Dim conexion,tabla,ide
'Recogemos de un formulario el campo ID y lo guardamos en una variable
ide = Request.form("id")
Set conexion=Server.CreateObject("adodb.connection")
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("nombre-de-la-bd.mdb")
'Hacemos el SQl para borrar los registros de la BD los cuales el ID sea igual al ID que hemos recogido del formulario
sSQL = "delete * from tabla where nombre like '" & ide & "';"
'Ejecutamos el SQL en la BD
conexion.execute (sSQL)
response.write "Se han borrado todos los mensajes <br><center><a href=# onclick=window.close()>Pulsa aqui para cerrar esta ventana</a></center>"
'Cerramos la tabla de la BD
tabla.close
'Cerramos la conexión a la BD
conexion.close
Y luego, claro, con tu intuición, inspiración, etc, adaptarlo, unirlo, etc para lograr que necesites.

COMPARTIENDO, MEJORAMOS TODOS