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

Recorrer Recordset

Estas en el tema de Recorrer Recordset en el foro de ASP Clásico en Foros del Web. Hola a todos! Tengo un problema de concepto...a ver: Quiero ir mostrando los registros de un Recordset, uno por uno en los campos de un ...
  #1 (permalink)  
Antiguo 12/06/2002, 02:28
 
Fecha de Ingreso: mayo-2002
Mensajes: 24
Antigüedad: 23 años
Puntos: 0
Recorrer Recordset

Hola a todos!
Tengo un problema de concepto...a ver:
Quiero ir mostrando los registros de un Recordset, uno por uno en los campos de un formulario. Tengo unos botones de avanzar y retroceder para ir mostrando los resultados. Pero mi pregunta es como lo hago para ir enviando la informacion a los campos, ya que la página se me carga de nuevo cada vez que le doy al boton de avanzar/retroceder y entonces pierdo mi recordset, no?
No se si me he explicado demasiado bien...
Bueno, a ver si alguien lo sabe, gracias!
  #2 (permalink)  
Antiguo 12/06/2002, 03:36
 
Fecha de Ingreso: mayo-2002
Ubicación: Tijuana
Mensajes: 201
Antigüedad: 23 años
Puntos: 1
Re: Recorrer Recordset

Mira, no soy un guru de esto, pero al perecer esto es de usar un poco la logica, la solucion que le encuetro es esta asi como la veo es esta:
1; La primera pagina solo tiene siguiente, (CIERTO).
2;La 2a si va a tener ANTERIOR y si hay mas registros va tener SIGUIENTE.
3;La ultima solo va tener ANTERIOR,(CIERTO).
4; Entonces ya encontramos estos patrones, segun el # de registro actual y el #total de registros que tenga la tabla, tu vas a decidir que botones deben aparecer, y que variables debes guardar para enfrente o atras, puedes usar Cookies o variables de Session segun tu gusto(SIGUIENTE=#Registro actual+1 y ANTERIOR=#Registro actual-1 y puedes para comodidad guardar el total de registros TOTALREGISTROS en otra variable para que no este consulte y consulte la tabla en cada movida que des y ademas la podras actualizar). Pero debes cuidar tus condiciones de acuerdo a el #total de registros que tengas.
Esta es la solucion que le encuentro, a mi gusto, solo es cuestion de echarle un poco de coco para ver que falta.
Espero te sirva, para tu problema.
  #3 (permalink)  
Antiguo 12/06/2002, 03:58
 
Fecha de Ingreso: mayo-2002
Mensajes: 24
Antigüedad: 23 años
Puntos: 0
Re: Recorrer Recordset

Ok, estoy de acuerdo, pero no tengo que ir pasando también todo el recordset? Porque si solo paso el numero total de registros, etc, cuando quiera leer el proximo registro el recordset ya no estará disponible, no? Lo puedo ir pasando como variable de aplicación?
Que liooo!!!
  #4 (permalink)  
Antiguo 12/06/2002, 05:46
 
Fecha de Ingreso: junio-2002
Mensajes: 15
Antigüedad: 22 años, 11 meses
Puntos: 0
Re: Recorrer Recordset

Aquí tienes un ejemplo de paginación
<html>
<head>
<title>Repaginador de resultados</title>
<%
sSQL="select lo que tu quieras"
'esta sentencia SQL puede ser creada a partir de un buscador como el que hemos visto en otro reportaje
'y almacenada en una session para emplearla sucesivas veces en el script: session("ssql")=ssql

'actualizamos numero de pagina
If Request.QueryString("pag")<>" " then
Session("pagina")=Request.QueryString(&q uot;pag")
Else
Session("pagina")=1
End If

'constantes ADO VBScript
Const adCmdText = &H0001
Const adOpenStatic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Set Command = Server.CreateObject("ADODB.Command")
Set RS =Server.CreateObject("ADODB.RecordSet")
Conn.Open "nombre de tu base de datos"
RS.Open sSQL,Conn,adopenstatic,adcmdtext

'resultados por pagina a elegir arbitrariamente
num_registros = 5

'Dimensionamos las paginas y determinamos la pagina actual
RS.PageSize=num_registros
RS.AbsolutePage=Session("pagina")
%>

<div align="center">
Número de página actual: <b><%=Session("pagina")%>&lt ;/b>
<br>
Número de páginas total: <b><%=RS.PageCount%></b>
<br>
Número de registros por página: <b><%=RS.PageSize%></b>
<br>
Número de registros seleccionados: <b><%=RS.RecordCount%></b>
</div>
<br><br>

<table cellspacing="2" cellpadding="2" border="1" align="center">
<%
'Contamos el numero de campos de la tabla
num_campos=RS.Fields.Count
For campo=0 to num_campos-1%>
<td align="center"><%=RS(campo).Name%& gt;</td>
<%
Next
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
registros_mostrados = registros_mostrados +1
%>
<tr>
<%For campo=0 to num_campos-1 %>
<td align="center"><%=RS(campo)%>&l t;/td>
<%Next%>
</tr>
<%
RS.MoveNext
Wend
%>
<tr>
<td colspan="<%=num_campos%>" align="center">
<%
i=0
While i<RS.PageCount
i=i+1
%>
<b><a href="paginar.asp?pag=<%=i%>">& lt;%=i%></a></b>
<%
Wend
%>
</td>
</tr>
</table>
<%
RS.Close
Conn.Close
%>
</body>
</html>

;)

<a href="mailto:[email protected]">Lolo</a>
<img src="http://www.pajarolandia.com/mandarin.gif">
<a href="http://www.pajarolandia.com">www.pajarolandia.com</a>
  #5 (permalink)  
Antiguo 12/06/2002, 07:00
 
Fecha de Ingreso: mayo-2002
Ubicación: Tijuana
Mensajes: 201
Antigüedad: 23 años
Puntos: 1
Re: Recorrer Recordset

bueno, por que de aplicacion, puedes usar cookies, o Session que es diferente a Aplication, pero bueno es solo mi idea como te dije, es una manera sencilla, y no ocupas mucho codigo, ya que al pasar las variables de referencia te diran que debes hacer, sin ni siquiera abrir la conexion.
Bueno esppero tengas suerte OK.
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 12:13.