|
Controlar insert del DataSetProvider (Solucionado)
Amigo, mi consulta iba dirigida a que tenía una actualización de aplicación en tres capas:
un TAdoConnection
un TAdoQuery
un TAdoProvider
un TClientDataSet
un TDAtaSource
La idea es que la consulta del TAdoQuery tiene un Left Outer Join entre sus cláusulas, por lo tanto un campo de otra tabla que no figura en la actualización. Si uno hace varios cambios en el TClientDataSet y quiere actualizar los datos en el motor de datos, entonces se hace un ApplyUpdate y este generaba un error porque uno de los campos no es actualizable. La solución era sencilla, no necesitaba interceptar el insert, bastaba, en la definición de campos en el TAdoQuery, en la propiedad ProviderFlags, definir este campo como: pfInUpdate a False Con esto el DataSetProvider no toma este campo cuando se ejecuta el ApplyUdate(0)
Gracias a los amigos por las ideas, saludos
|