Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2004
waezu waezu is offline
Registrado
 
Registrado: mar 2004
Posts: 1
Poder: 0
waezu Va por buen camino
Exclamation Problema con ClientDataSet

Saludos a tod@s

Os cuento mi problema.

Tengo un TDataSetProvider en un modulo remoto.

En mi aplicación cliente tengo un TClientDataSet enlazado a este provider (a traves de una conexion Soap, TSoapConnection). Mi problema es que este proveedor ataca a una tabla de mi base de datso que tiene un número muy elevado de registros, por lo cual y para que el ClientDataSet no se tenga que traer todos los registros que contenga la tabla, le he puesto que se traiga paquete de 10 registros por ejemplo, por lo cual le asigno a la propiedad packetRecord el numero de registros que quiero que se traiga de la tabla en cada paquete. En el cliente tb tengo un DataSource enlazado con el ClientDataSet y un DbGrid enlazado con este ultimo. El problema viene ahora, en el grid solo me aparecen repetidos el numero de registros que le indico en el packetRecord del ClientDataSet. Esto creo que es debido a que las SoapConnection no guarda el estado en que se encuentra Provider y por eso siempre empieza desde el primero registro a suministrarme los datos.

Alguien tiene alguna solución pa esto que no sea tener que traerme todo los registros de la tabla??? Espero que podais ayudarme.

Aaaaaaaaaaaaaaios
Responder Con Cita
  #2  
Antiguo 30-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Y porque queres poner 1,000,000 de registros en un Grid???

Quizas sea cómodo para tu cliente, pero técnicamente es muy costoso. Es mejor que acotes bien el dataset, antes de pretender hacerlo viajar por la red.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 30-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Opino lo mismo que Juan Antonio.

Aún así verifica que en el Provider no tengas la propiedad FetchOnDemand a False, puesto que en ese caso, para ir obteniendo registros, de 10 en 10, tienes que ir ejecutando el métod GetNextPacket.

¿ Por cierto, no puedes cambiar la SoapConnection, por una SocketConnection ?. Creo que esta última si es capaz de mantener el estado.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:59:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi