![]() |
dbexpress y Firebird (cambiar o actualizar datos)
Nuevamente con una molestia, estoy migrando una aplicación de ibx a dbx y tengo un formulario para capturar datos en una relación maestro - detalle
La aplicación esta funcionando bien, capturo los datos del maestro, después capturo los del detalle guardo el registro y todo funciona muy bien. El problema surge cuando digamos un minuto después quiero modificar o agregar algún dato, ya sea al maestro o al detalle me sale este error: --------------------------- raised exception class EDatabaseError with message 'Unable to find record. No key specified'. --------------------------- En pocas palabras dice que no encuentra el registro y que no hay clave especificada, me imagino que esto pasa porque de alguna manera ha de caducar la sesión activa para esta transacción y no tiene en la memoria de la aplicación estos valores. Como puedo darle la vuelta a este comportamiento. Nuevamente muchas gracias |
Hola
Para que la operacion quede guardada hay que hacer un Commit o commitRetained, esto con el fin de que firebird sepa que se termino de ejecutar lo que se necesitaba. Si no se hace, el cambio o lo que se quiera hacer, quedara latente hasta que se cierre y se abra el programa, que es en realidad un commit. Saludos |
Cita:
DatosExpress.cdsfacturas.ApplyUpdates(0); El problema viene cuando unos minutos después quiero modificar algo ya me manda el error de que no encuentra la llave!! |
| La franja horaria es GMT +2. Ahora son las 00:22:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi