Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2011
Fita Fita is offline
Miembro
 
Registrado: jul 2003
Ubicación: Pilar - Argentina
Posts: 216
Poder: 21
Fita Va por buen camino
Problema con ClientDataset y provider

Hola a todos...

Estoy migrando un sistema de facturación de Delphi7 a Delphi 2010.
Uso Firebird con las FibPlus
El sistema funciona perfecto en Delphi 7 pero en 2010 el clientdadaset no funciona correctamente.
Cuando se carga el pedido la cosa funciona bien. Digamos que cargo 5 items.
Hasta aquí todo bien, ahora si modifico un item o cambio alguno al hacer el applyupdates se pierden registros o repite el primer item en todos los registros del pedido.

Alguna idea?

Saludos
__________________
No te vayas sin irte
Responder Con Cita
  #2  
Antiguo 18-11-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Se ve muy raro.

Revisa la configuración de como se deben hacer las actualizaciones. Personalmente te recomiendo que el UpdateMode del Provider lo tengas en upWhereKeyOnly (o sinó en upWhereChanged). Y después, en los campos persistentes del FibDataset (no en los del ClientDataset), tienes que activar el pfInKey dentro de los ProviderFlags del campo persistente correspondiente a la clave primaria de la tabla.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 23-11-2011
Fita Fita is offline
Miembro
 
Registrado: jul 2003
Ubicación: Pilar - Argentina
Posts: 216
Poder: 21
Fita Va por buen camino
Hola... gracias por tu respuesta.

Hasta ahora tenía entendido que los campos persistentes se activaban el el ClientDataset y no en el FIBDataset.

Esto es así..?, porque de serlo cambia toda la historia (y el programa).

No obstante he probado lo que me aconsejas y no funcionó.

Espero tu respuesta, gracias nuevamente!
__________________
No te vayas sin irte
Responder Con Cita
  #4  
Antiguo 23-11-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Cita:
Empezado por Fita Ver Mensaje
Hola... gracias por tu respuesta.

Hasta ahora tenía entendido que los campos persistentes se activaban el el ClientDataset y no en el FIBDataset.

Esto es así..?, porque de serlo cambia toda la historia (y el programa).

No obstante he probado lo que me aconsejas y no funcionó.

Espero tu respuesta, gracias nuevamente!
Tienes que generar los campos persistentes tanto en el ClientDataset como en el FIBDataset.

En los campos persistentes del ClientDataset es donde configuras como quieres que se comporte el campo en tu formulario (disparo de eventos, formato de presentación, DisplayLabel, etc. ...).

En los campos persistentes del FIBDataset es donde configuras como se actualiza ese campo en la base de datos (que campos forman la clave primaria, que campos se deben actualizar y que campos no se deben actualizar, etc. ...).

Asegúrate de haber seguido estos dos pasos :

a) En el TDatasetProvider cambia la propiedad UpdateMode a upWhereKeyOnly

b) En los campos persistentes del TFIBDataset cambia la propiedad ProviderFlags del campo correspondiente a la clave primaria, y activa el Flag pfInKey

Esto es lo que le indica al ClientDataset como identificar correctamente los registros para poder hacer las modificaciones.

Si aún así las actualizaciones hacen cosas extrañas, entonces habrá que buscar otros motivos, como que por ejemplo podrías tener algún trigger en la tabla que no funciona correctamente.

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con clientdataset lina maria Conexión con bases de datos 5 26-10-2008 18:26:30
Maestro Detalle con ClientDataSet sin Provider fufo_m Varios 0 12-10-2007 18:09:02
Problema con ClientDataSet Slash Conexión con bases de datos 1 10-09-2004 23:15:01
Problema con ClientDataSet waezu Providers 2 30-03-2004 18:36:00
Problema de ClientDAtaset con xml carlosmoralesm Internet 6 03-03-2004 21:46:16


La franja horaria es GMT +2. Ahora son las 19:35:16.


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