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

como puedo ir a un registro concreto de un recordset

Estas en el tema de como puedo ir a un registro concreto de un recordset en el foro de ASP Clásico en Foros del Web. hola: Tengo un recordset de n registros pero yo solo quiero mostrar los registros del 1 al 6. Entonces en el primer registro hago un ...
  #1 (permalink)  
Antiguo 02/05/2008, 12:13
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 10 meses
Puntos: 0
como puedo ir a un registro concreto de un recordset

hola:
Tengo un recordset de n registros pero yo solo quiero mostrar los registros del 1 al 6.
Entonces en el primer registro hago un rs.movefirst
en el segundo registro intento un rs.move 2,adBookmarkFirst pero me devuelve el error siguiente:

ADODB.Recordset error '800a0d5d'
La aplicación utiliza un valor de tipo no válido para la operación actual.

He mirado la sintaxis y esta correcta.
También he probado con rs.move cint(2),adBookmarkFirst y con todos los datos de tipo numerico pero me devuelve el mismo error.
Tienen idea de que pasa?
Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #2 (permalink)  
Antiguo 02/05/2008, 12:27
Avatar de i_e_s27  
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 208
Antigüedad: 17 años, 1 mes
Puntos: 5
Re: como puedo ir a un registro concreto de un recordset

Tendra algo que ver con los cerrojos o el tipo de cursor?

Cita:
'Const adOpenForwardOnly = 0 'Es el cursor por defecto y nos permite recorrer el Recordset en forma secuencial.
'Const adOpenKeySet = 1 'Permite movernos hacia delante y atrás. Permite observar las modificaciones en los datos del Recordset , no así si existen ingresos de nuevos registros.
'Const adOpenDynamic = 2 'Permite movernos en cualquier sentido, viendo cualquier modificación, ingreso o eliminación de datos del Recordset.
'Const adOpenStatic = 3 'Permite movernos en cualquier sentido, pero no se verá ningún cambio ocurrido en la tabla.

'Const adLockReadOnly = 1 'Es el cerrojo por defecto y no permite modificar los registros de la tabla.
'Const adLockPessimistic = 2 'Una vez que alguien abre la tabla, ésta queda bloqueada para los demás usuarios. Con este modo se asegura la integridad de los datos.
'Const adLockOptimistic = 3 'La tabla sólo será bloqueada a los demás usuarios mientras se ejecute una operación Update. De esta forma la tabla se bloqueará durante mucho menos tiempo que con el método anterior.
'Const adBatchOptimistic = 4 'Los registros serán actualizados en modo batch.
__________________
Demasiado mayor para ser una joven promesa, demasiado joven para ser una vieja gloria
  #3 (permalink)  
Antiguo 02/05/2008, 12:30
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Re: como puedo ir a un registro concreto de un recordset

Que tal rompiendo el ciclo?

Código:
Dim mostrarHasta, itera
mostrarHasta = 6
itera = 1

do while not rs.EOF 
  'Imprimes registro
   itera = itera + 1
   if itera = mostrarHasta then
     rs.Close
     exit do
   end if
   rs.MoveNext
loop
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 02/05/2008, 12:40
Avatar de i_e_s27  
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 208
Antigüedad: 17 años, 1 mes
Puntos: 5
Re: como puedo ir a un registro concreto de un recordset

u_g esa funcion le va a mostar 5 resultados, no 6 (quizas me equivoque)

Dim mostrarHasta, itera
mostrarHasta = 6
itera = 1 <--------ESTE TENDRIA QUE SER CERO

do while not rs.EOF
'Imprimes registro
itera = itera + 1 <--------- ACA SE HACEN 2 LA PRIMERA VEZ
if itera = mostrarHasta then
rs.Close
exit do
end if
itera = itera + 1 <-----SINO TENDRIA QUE PONER LA LINEA ACA PARA DEJAR ITERA=1 Y NO ITERA=0 ARRIBA
rs.MoveNext
loop

Osea... primero imprimes y luego avanzas
__________________
Demasiado mayor para ser una joven promesa, demasiado joven para ser una vieja gloria
  #5 (permalink)  
Antiguo 02/05/2008, 13:21
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Re: como puedo ir a un registro concreto de un recordset

Cita:
Iniciado por i_e_s27 Ver Mensaje
Osea... primero imprimes y luego avanzas


Seeh, siempre me pasa lo mismo, gracias por la corrección, pero esa es la idea; como consejo las máquinas cuentan siempre desde 0 pero nosotros no, es por eso que siempre que se pueda es mejor comenzar con 1 -haciendo la correspondiente prueba de escritorio -

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 02/05/2008, 13:24
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: como puedo ir a un registro concreto de un recordset

Cita:
Tengo un recordset de n registros pero yo solo quiero mostrar los registros del 1 al 6.
Solo por comentar ......

si solo quieres mostrar una cierta cantidad de registros, ¿por qué no limitas los registros regresados desde la consulta con TOP o con LIMIT?, dependiendo de la BD que uses
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 19:34.