Ver Mensaje Individual
  #4  
Antiguo 23-11-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
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