[Lazarus-es] obtener id recién grabado

Ulises Díaz udiaz60 en hotmail.com
Jue Dic 20 01:40:44 CET 2012


Puedes utilizar transacciones, captura de errores con TRY y utilizando los componentes Zeos.
En el siguiente ejemplo puedes ver la idea (no es funcional). A manera de ilustración.

TryQuery1.Post; // Se guarda la información de la primera tabla.CodigoTabla1:= Query1.fielbyname('id').Asinteger;  // Se toma el código del registro activo, osea el último que se ingresó obviamente.
//Aquí se ejecuta la sentencia para la tabla2, insertando en el campo corespondiente el valor de CodigoTabla1.
//Aquí se hace un Commit (Postgresql tiene activo el autocomit);Query1.SQL.clear;Query1.SQL.ADD('COMMIT'); // Se deshacen todos los cambios realizados a la base de datosQuery1.ExcecSql;
Except  //Si la operación se interrumpe antes de terminar se hace un Rollback, no se guarda nada.Query1.SQL.clear;Query1.SQL.ADD('ROLLBACK'); // Se deshacen todos los cambios realizados a la base de datosQuery1.ExcecSql;End;
De esta forma lo he realizado con PostgreSQL.
Espero que sea de utilidad y haber sido lo suficientemente claro.
Ulises DíazSkype: udiaz60
Ing. de SistemasColombia 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20121219/76bc175a/attachment-0002.html>


More information about the Lazarus-es mailing list