Retroceder   Foros del Web > Programación para sitios web > ASP Clásico

Respuesta
 
Herramientas Desplegado
Antiguo 02-may-2008, 12:13   #1 (permalink)
ciberpata ha deshabilitado el karma
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 543
Enviar un mensaje por Skype™ a ciberpata
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í.
En recuerdo a mi padre.
ciberpata está desconectado   Responder Citando
Antiguo 02-may-2008, 12:27   #2 (permalink)
i_e_s27 tiene algunos puntos positivos de karma
 
Avatar de i_e_s27
 
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 195
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
i_e_s27 está desconectado   Responder Citando
Antiguo 02-may-2008, 12:30   #3 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.268
Enviar un mensaje por MSN a u_goldman
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
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 02-may-2008, 12:40   #4 (permalink)
i_e_s27 tiene algunos puntos positivos de karma
 
Avatar de i_e_s27
 
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 195
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
i_e_s27 está desconectado   Responder Citando
Antiguo 02-may-2008, 13:21   #5 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.268
Enviar un mensaje por MSN a u_goldman
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
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 02-may-2008, 13:24   #6 (permalink)
Moderador
Myakire llegará a ser famoso muy prontoMyakire llegará a ser famoso muy prontoMyakire llegará a ser famoso muy prontoMyakire llegará a ser famoso muy pronto
 
Avatar de Myakire
 
Fecha de Ingreso: noviembre-2002
Mensajes: 6.493
Enviar un mensaje por Yahoo  a Myakire
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
Myakire está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:12.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93