Ver Mensaje Individual
  #8 (permalink)  
Antiguo 25/12/2006, 17:42
Avatar de pablinff
pablinff
 
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Consulta sobre ASP y conexiones ADO

En el ejemplo que me mostrás esás anidando un recordset dentro de otro, y es muy posible que tu error sea por eso, para hacer una consulta o varias debés seguir estos pasos:
1º abrís la conexión a la BD:
Código:
Dim datos
datos= Server.MapPath ( "/bd/data.mdb" )
conexion.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&datos&";"
(de esta forma de alguna otra)
2º creas el objeto recordset, para cada consulta así, y una vez lo terminas de ocupar, lo cerrás:
Código:
Set rs = Server.CreateObject("adodb.recordset") 'Yo suelo usar rs para crear el recordset
Temp="Select * From Categorias Order By Nombre"
rs.Open Temp, Conexion
While Not rs.EOF
....
rs.MoveNext
Wend
rs.Close
set rs = nothing ' Lo seteas en nada para liberar recursos del servidor

' Después si querés hacer otra consulta, ejecutás otro recordset igual que el anterior
' Fijate que le puse el mismo nombre que el recordset anterior, puesto que yo no lo ocupo más
Set rs = Server.CreateObject("adodb.recordset") 
Temp="Select * From Categorias Order By Nombre"
rs.Open Temp, Conexion
While Not rs.EOF
....
rs.MoveNext
Wend
rs.Close
set rs = nothing ' Lo seteas en nada para liberar recursos del servidor
' Y así sucesivamente abrís los RS que querés.
3º Y por último cuando terminaste de utilizar la BD, cerrás el objeto de la conexión, en este caso la variable conexion.
Código:
conexion.close
set conexion = nothing 
' Nuevamente seteamos al objeto conexión en nada para que no ocupe espacio en memoria
Bueno respondiendote a la otra pregunta el conexion.close lo tenés que poner cuando termines de utilizar la conexión, indistintamente de la ubicación.
Con respecto a lo de windows... mirá en ese campo nunca entré porque la unica vez que instalé un server en mi pc fué hace mucho y fué el PWS en W98, así que eso no sabría decirte, pero no creo que sea de eso, porque se nota que el anidamiento de recordsets que estás teniendo es el que da error.
Saludos!
__________________
I'm gonna start a revolution from my bed...