Foros del Web » Programando para Internet » ASP Clásico »

Problema al volver a consultar a una bd

Estas en el tema de Problema al volver a consultar a una bd en el foro de ASP Clásico en Foros del Web. Hola estoy empezando con ASP y tengo un problemilla con el acceso a BD. El problema que tengo es que cuando intento a volver a ...
  #1 (permalink)  
Antiguo 20/03/2003, 05:24
 
Fecha de Ingreso: marzo-2003
Mensajes: 117
Antigüedad: 22 años, 1 mes
Puntos: 0
Problema al volver a consultar a una bd

Hola estoy empezando con ASP y tengo un problemilla con el acceso a BD.

El problema que tengo es que cuando intento a volver a consultar sobre la BD Access ( la 1ª consulta no me da problemas),

me da un error en la línea que se conecta a la BD :
(es decir en la página que procesa los datos del formulario
y se conecta a la BD)

set Conexion=Server.CreateObject("ADODB.Connection")

Conexion.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\Inetpub\wwwroot\prueba.mdb;"


Añadiros que al final de la página que procesa los resultados del formulario de entrada cierro la conexion y el recordset de la siguiente manera:


rs.Close

Set rs = Nothing

Conexion.Close
Set Conexion = Nothing


Saludos y muchas gracias
  #2 (permalink)  
Antiguo 20/03/2003, 12:43
 
Fecha de Ingreso: enero-2003
Mensajes: 22
Antigüedad: 22 años, 4 meses
Puntos: 0
Hola...

Cual es el error de la base de datos...
  #3 (permalink)  
Antiguo 21/03/2003, 00:16
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 23 años, 3 meses
Puntos: 6
hola
si puedes pon el codigo que tienes
saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #4 (permalink)  
Antiguo 21/03/2003, 01:35
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
Por lo que veo en la segunda consulta vuelves a crear la conexión a la DB. Si se trata de la misma DB e incluso tabla, símplemente vuelve a definir la sentencia SQL con la nueva consulta. Incluso puedes definir dos sentencias SQL al principio con las dos consultas
sql1 = "SELECT * FROM .....
sql2 = "SELECT * FROM .....
Luego te mando un ejemplo más completo que tengo en una página.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #5 (permalink)  
Antiguo 21/03/2003, 01:48
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
Aquí va el ejemplo. Son dos consultas sobre la misma conexión. Lo único que hago es no cerrar la DB sino sólamente el Recordset para luego definir la nueva consulta. Se podría también definir dos Recordset distintos para cada consulta.
Código:
<%
SET base = Server.CreateObject("ADODB.Connection")
base.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("./db.mdb")
sql = "SELECT * FROM tabla WHERE ID = '"& id &"'"
SET RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, base 	
'....
'aquí van las operaciones que realizo con la primera consulta
'y finalmente cierro el Recordset.
RS.Close
SET RS = Nothing
%>
......
Contenido de la página HTML hasta llegar a la siguiente consulta
........
<%
sql = "SELECT * FROM tabla2 WHERE ID = '"& id &"'"
SET RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, base
%>
Pero como te he comentado antes lo puedes definir todo a la vez:
Código:
<%
SET base = Server.CreateObject("ADODB.Connection")
base.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("./db.mdb")
sql1 = "SELECT * FROM tabla WHERE ID = '"& id &"'"
sql2 = "SELECT * FROM tabla2 WHERE ID = '"& id &"'"
SET RS1 = Server.CreateObject ("ADODB.RecordSet")
SET RS2 = Server.CreateObject ("ADODB.RecordSet")
RS1.Open sql1, base 
RS2.Open sql2, base 	

'.......
'Operaciones sobre cada consulta y cerramos todo
'.......

RS1.Close
SET RS1 = Nothing
RS2.Close
SET RS2 = Nothing
RS.base
SET base= Nothing
%>
Espero que te sirva.
  #6 (permalink)  
Antiguo 21/03/2003, 02:25
 
Fecha de Ingreso: marzo-2003
Mensajes: 117
Antigüedad: 22 años, 1 mes
Puntos: 0
Gracias a todos

Muchas gracias a todos por contestarme.

La solución la tuve con el mejor truco que hay siempre en la Informática...................... volve a reiniciar el ordenador y .......todo iba como la sede. Supongo que era porque antes había abierto el ACCESS o habría cerrado mal la BD ( en el código ASP), y se me había quedao por ahí algún proceso mal o la BD estaba abierta.

En definitiva que todo se arreglo con reiniciar el equipo.

Lo dicho muchas gracias de todas maneras
  #7 (permalink)  
Antiguo 21/03/2003, 02:28
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
De nada jantlucena. De todas formas te recomiendo que revises bien tu código en busca de errores, porque en el caso de que te vuelva a dar problemas cuando lo tengas en un servidor, a no ser que sea tuyo, puede que no lo puedas reiniciar.
Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:45.