![]() |
FireDac+OldValue
Hola.
Estoy intentando obtener el valor de la propiedad OldValue de un campo pero parece que no funciona en Firedac. Me devuelve el mismo valor que ingreso en un dbEdit. La base de datos es Firebird 2.5. Este es el código que pongo en el evento AfterPost del DataSet:
Si pongo este mismo código en el evento OnUpdateRecord (según la ayuda de Delphi), si obtengo el valor, pero no me guarda las modificaciones que hago en el DataSet. Alguna sugerencia? Gracias y un saludo. |
El evento AfterPost se dispara luego de grabar
El indicado sería el BeforePost After --> después Before --> antes |
Hola.
Gracias por responder. En el BeforePost pongo todas las validaciones que quiero para los campos. ejemplo:
Lo pongo en este evento por que es ahí cuando me interesa que se dispare. Una vez que ya los datos han sido confirmados y grabados a la DB. Códigos parecidos al del post anterior me funcionan perfectamente con delphi 2007 y los componentes MDO. Pero con delphi 10 Seattle y FireDac me encuentro con esta situación. Según la ayuda http://docwiki.embarcadero.com/Libra...OnUpdateRecord , en el evento OnUpdateRecor se obtienen dicho valor y así es, pero si coloco el código en este evento parece que todo va bien, hasta que cierro la ventana de facturas. Cuando la vuelvo a abrir me encuentro que las modificaciones que había hecho a los datos no se mantienen. |
Ya veo, yo nunca trabaje en profundidad con los eventos de los DataSet; mas bien prefiero moverme usando comandos sql y querys; pero eso es tema aparte
Solo se me ocurren tres cosas: 1. Algun problema de transacciones, sobre todo debido a "parece que todo va bien, hasta que..vuelvo a abrir y no se aplicaron los cambios" 2. Segun la documentacion, en el evento OnUpdateRecord hay que asignar un valor al parametro AAction; si todo va bien, deberia setearse al valor eaApplied 3. La propiedad OldValue de TField solo funciona si se usan Cached Updates, tal como lo dice la documentacion En este enalce se explica todo sobre Cached Updates con FireDAC |
La franja horaria es GMT +2. Ahora son las 06:11:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi