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

problemas con paginacion

Estas en el tema de problemas con paginacion en el foro de ASP Clásico en Foros del Web. Hola!!! antes que nada que bueno contar con sitios y gente que ayuda al desamparado por el simple hecho de ayudar..ahora mi problema consiste en ...
  #1 (permalink)  
Antiguo 14/12/2006, 12:47
 
Fecha de Ingreso: diciembre-2006
Mensajes: 16
Antigüedad: 18 años, 4 meses
Puntos: 0
problemas con paginacion

Hola!!! antes que nada que bueno contar con sitios y gente que ayuda al desamparado por el simple hecho de ayudar..ahora mi problema consiste en que al momento de hacer una busqueda por palabra en mi bd me pagina correctamente los resultados, solo que al momento de darle click en alguno de esos links que se han paginado me devuelve el siguiente error

"ADODB.Recordset error '800a0bb9'

Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.

/luisef/sql40-b.asp, línea 484"

en la linea 484 tengo: RS.Open sSQL4,strConn,3,1

y el codigo es el siguiente:


<%
Set strConn = Server.CreateObject("ADODB.Connection")
strConn.Open "DRIVER={SQL Server};SERVER=POSEIDON;Database=base_compite;Uid= sa;PWD="



'BUSCADOP EXTERNO
opcion = request.Form("opcion")
buscar = request.form("buscar")


if opcion = "contacto" then

sSQL4= "SELECT * FROM BASE where contacto LIKE '%"&LCase(buscar)&"%' "
set RSdata = Conn.Execute(sSQL4)


end if


if opcion = "direccion" then

sSQL4= "SELECT * FROM BASE where direccion LIKE '%"&LCase(buscar)&"%' "
set RSdata = Conn.Execute(sSQL4)

end if



if opcion = "razon" then

sSQL4= "SELECT * FROM BASE where razon_social LIKE '%"&LCase(buscar)&"%' "
set RSdata = Conn.Execute(sSQL4)

end if



if opcion = "colonia" then

sSQL4= "SELECT * FROM BASE where colonia LIKE '%"&LCase(buscar)&"%' "
set RSdata = Conn.Execute(sSQL4)

end if

'aki comienza PAGINADOR
'Consulta SQL
'sSQL4 = "SELECT * FROM BASE ORDER BY ID"

'Configurar aqui los registros por página
num_registros = 20

'actualizamos la pagina actual
if (request.queryString("pag") <> "") then
pagina_actual = request.queryString("pag")
else
pagina_actual = 1
end if

'Set Conn = Server.CreateObject("ADODB.Connection")
'Conn.Open strConn
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sSQL4,strConn,3,1

RS.pageSize = num_registros
RS.absolutePage = pagina_actual
cantidad_campos = RS.Fields.Count

%>

<body>
<div align="center">
Página actual: <%= pagina_actual %><br>
Cantidad de páginas: <%= RS.PageCount %><br>
Registros por página: <%= RS.PageSize %><br>
Registros totales: <%= RS.RecordCount %>
</div>
<br>

<table bgcolor="#FFFFFF" cellspacing="1" border="0" align="center">
<tr>
<td bgcolor="#FFFFFF" align="center"></td>
<%
For campo = 0 to cantidad_campos - 1 %>
<td bgcolor="#000066" align="center"><%=RS(campo).Name%></td>
<% Next %>
</tr>
<%
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
registros_mostrados = registros_mostrados +1
%>
<tr>
<td bgcolor="000066"align="center">
<%response.write("Editar")%>
</td>
<%For campo=0 to cantidad_campos - 1 %>
<td bgcolor="99CCFF"align="center"><%=RS(campo)%></td>
<%Next%>
</tr>
<%
RS.MoveNext
Wend
%>
<tr>
<td bgcolor="#FFFFFF" align="center"></td>
<td bgcolor="#000066" colspan="<%=cantidad_campos%>" align="center">
<%
i=1
Do While i <= RS.PageCount
%>
<a href="sql40-b.asp?pag=<%=i%>"><%=i%></a>
<%
i=i+1
Loop
%></td>
</tr>
</table>

<%
'Limpiamos los objetos (SIEMPRE)
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>

...perdon por lo extenso del codigo he leido por ahi que este problema puede deberse a que al cambiar de la pagina principal a la de la busqueda se pierden los valores de la misma :S he intentado de todo y no logro salir de este error...les estaria muy agradecido si pudiesen ayudarme o dar algun tip porque la verdad ya estoy hasta la mad... saludos!
  #2 (permalink)  
Antiguo 16/12/2006, 05:40
 
Fecha de Ingreso: junio-2004
Mensajes: 72
Antigüedad: 20 años, 10 meses
Puntos: 2
Re: problemas con paginacion

Fijate en esta parte ....
Código:
Set strConn = Server.CreateObject("ADODB.Connection")
Aca estableces strConn y en el resto del codigo usas ...

Código:
set RSdata = Conn.Execute(sSQL4)
Fijate que en esta parte pones Conn y no strConn
El resto del codigo lo veo bien. Prova con eso si seguis teniendo problema avisa nuevamente.
Saludos
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 22:26.