Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   como puedo ir a un registro concreto de un recordset (http://www.forosdelweb.com/f15/como-puedo-registro-concreto-recordset-582330/)

ciberpata 02/05/2008 12:13

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

i_e_s27 02/05/2008 12:27

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.

u_goldman 02/05/2008 12:30

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

i_e_s27 02/05/2008 12:40

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 :-)

u_goldman 02/05/2008 13:21

Re: como puedo ir a un registro concreto de un recordset
 
Cita:

Iniciado por i_e_s27 (Mensaje 2387989)
Osea... primero imprimes y luego avanzas :-)

:pensando:

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 :borracho:-

Saludos

Myakire 02/05/2008 13:24

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


La zona horaria es GMT -6. Ahora son las 19:59.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.