Ver Mensaje Individual
  #1  
Antiguo 10-12-2010
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Reputación: 22
Toni Va por buen camino
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
Responder Con Cita