¿Cómo expecificarle a un ClientDataSet que no actualize determinado campo en la BD?
Saludos a todos, les comento mi problema:
Tengo un ClientDataSet ligado a un grid que muestra información almacenada en la base de datos, realizo inserciones, borrados y actualizaciones a traves del clientdataset y aplico esos cambios en la base de datos mediante el método applyupdates. Esto funciona de maravilla cuando trabajo con el clientdataset ligado a una sola tabla en la base de datos, sin embargo al realizar una consulta más compleja para llenar el clientdataset las actualizaciones me estan produciendo un error. La consulta con la que lleno la tabla es la siguiente:
La carga de datos en el grid se realiza correctamente, pero al modificar la columna del grid ligada a CODIGO_FORANEO e intentar aplicar un applyupdates me muestra el siguiente error: Cita:
¿Cómo puedo definir un campo en un clientdataset de manera que este no se tome encuenta durante las actualizaciones realizadas mediante el metodo applyupdates? ¿Existe alguna propiedad que pueda utilizar para especificarle al clientdataset que columnas no se deben actualizar en la base de datos? |
Sí , en la propiedad providerFlags del campo le pones pfInUpdate = False
Saludos |
Sí, esa es la propiedad que buscaba, muchas gracias! Sin embargo no parece estar teniendo efecto en mi código, al aplicar el applyupdates me sigue dando el mismo error...
Según entiendo por lo que leí, sería cuestion de definirle la propiedad ProviderFlags como vacía para que no tenga la bandera pfInUpdate que trae por defecto, pero por alguna razón no me está funcionando, este es el código que estoy aplicando: Código:
ClientDataSet.FieldByName('DESCRIPCION_FORANEA').ProviderFlags := []; |
La franja horaria es GMT +2. Ahora son las 09:59:49. |
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