Problemas con ClientDataSets dinamicos
Hola,
Desarrollo las aplicaciones utilizando BCB6 + FB1.5 y utilizo para acceder a los datos ClientDataSet + DatasetProvider + IBQuery.
En algunas ocasiones al realizar el ApplyUpdates al ClientDataSet me genera el evento OnReconcileError y me da el error 'record not found'.
Este error sucede porque no puede encontrar el registro que tiene que actualizar y esto a su vez porque el ClientDataSet no ha podido averiguar cual es la clave primario de la tabla.
Una solucion al problema es crear los campos de forma estatica en el IBQuery y marcar que los campos que son la clave primaria mediante la propiedad ProviderFlags->pfInKey.
Como decia al principio este error no me sucede siempre y me gustaria poder continuar sin utilizar los campos estaticos. Por cuestiones de que a medida que voy modificando las estructuras de las tablas no tengo porque modificar la aplicación y añadir los campos nuevos como estaticos para poder acceder a los nuevos campos.
El problema es que cuando no se utilizan los campos estaticos, pues no sabe cual es la clave principal y da problemas para actualizar (curiosamente pocas veces)
Haber si alguien tiene alguna sugerencia al respecto.
__________________
Saludos,
Bitman
|