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

Ayuda con error.

Estas en el tema de Ayuda con error. en el foro de ASP Clásico en Foros del Web. Amigos, esto es para algun iluminado. Hace dias que lucho con esto y no encuentro la respuesta, no se si es porque ya se me ...
  #1 (permalink)  
Antiguo 02/09/2004, 14:42
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Ayuda con error.

Amigos, esto es para algun iluminado. Hace dias que lucho con esto y no encuentro la respuesta, no se si es porque ya se me cruzan los codgios. Estoy haciendo una busqueda en ASP y tengo el siguiente error:

Tipo de error:
ADODB.Recordset (0x800A0E78)
La operación no está permitida si el objeto está cerrado.
searchresult.asp, línea 143

Aqui les paso el codigo completo y cual es la linea 143:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
strConnection = "driver={Microsoft Access Driver (*.mdb)}; server=;uid=;pwd=;data source=base de datos"
%>(Esto esta arriba del <head>).

(Esto esta debajo del </head>)
<%
Dim mostrar
Dim cant_paginas
Dim pagina_actual
Dim registro_mostrado
Dim I 'Variable Loop
Dim ID

campo = request.form("nombre campo1")
campo = request.form("nombre campo2")
campo = request.form("nombre campo3")
campo = request.form("nombre campo4")
campo = request.form("nombre campo5")
campo = request.form("nombre campo6")
campo = request.form("nombre campo7")
campo = request.form("nombre campo8")
campo = request.form("nombre campo9")
campo = request.form("nombre campo10")
campo = request.form("nombre campo11")
campo = request.form("nombre campo12")
alf = request.form("nombre campo13")
cantidad = request.form("cantidad")

if cantidad="10" then
mostrar = 10
elseif cantidad="20" then
mostrar = 20
elseif cantidad="30" then
mostrar = 30
end if
if orden = "" then
response.redirect "archivo.asp"
end if

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

strsql = "SELECT * FROM Tabla where UCase(nombre campo1) like '%" & UCase(Request("nombre campo1")) & "%' AND UCase(nombre campo2) like '%" & UCase(Request("nombre campo2")) & "%' AND UCase(nombre campo3) like '%" & UCase(Request("nombre campo3")) & "%' AND UCase(nombre campo4) like '%" & UCase(Request("nombre campo4")) & "%' AND UCase(nombre campo5) like '%" & UCase(Request("nombre campo5")) & "%' AND UCase(nombre campo6) like '%" & UCase(Request("nombre campo6")) & "%' AND UCase(nombre campo7) like '%" & UCase(Request("nombre campo7")) & "%' AND UCase(nombre campo8) like '%" & UCase(Request("nombre campo8")) & "%' AND UCase(nombre campo9) like '%" & UCase(Request("nombre campo9")) & "%' AND UCase(nombre campo10) like '%" & UCase(Request("nombre campo10")) & "%' AND UCase(nombre campo11) like '%" & UCase(Request("nombre campo11")) & "%' AND UCase(nombre campo12) like '%" & UCase(Request("nombre campo12")) & "%' order by "& orden & " "&alf

' creo el RecordSet y defino la cantidad de registros a mostrar
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abro la tabla...
Set ObjDB = Server.CreateObject("ADODB.Connection")
ObjDB.Open strConnection, oConn,3,1

'cuento las páginas que se formaron con la variable mostrar
cant_paginas = RS.PageCount (esta es la linea 143)

' Si el pedido de página cae afuera del rango,
' lo modifico para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

%>
Los datos del formulario se los paso en post al codigo de arriba.
Despues de todo esto viene el codigo html para donde se muestran las tablas, etc.

Gracias anticipadas al que me ayude.
  #2 (permalink)  
Antiguo 02/09/2004, 14:48
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Creas el recordset, pero nunca lo abres...

' creo el RecordSet y defino la cantidad de registros a mostrar
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abro la tabla...
Set ObjDB = Server.CreateObject("ADODB.Connection")
ObjDB.Open strConnection, oConn,3,1

'Aqui lo debes abrir...RS.Open strSQL, ObjDB, 3, 3

'cuento las páginas que se formaron con la variable mostrar
cant_paginas = RS.PageCount (esta es la linea 143)

' Si el pedido de página cae afuera del rango,
' lo modifico para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 03/09/2004, 06:40
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Sigue sin funcionar...

Lo puse como tu me dijiste y sigue sin funcionar, debajo te posteo el codigo para que lo veas como quedo.

' Abro la tabla...
Set ObjDB = Server.CreateObject("ADODB.Connection")
ObjDB.Open strConnection, oConn,3,1

RS.Open strSQL, ObjDB, 3, 3

'cuento las páginas que se formaron con la variable mostrar
cant_paginas = RS.PageCount (esta es la linea 143)

' Si el pedido de página cae afuera del rango,
' lo modifico para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

Gracias anticipadas al que me ayude con esto.
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:54.