[Lazarus-es] obtener id recién grabado

Paola Bruccoleri pbruccoleri en adinet.com.uy
Mie Dic 19 21:46:56 CET 2012


El 19/12/2012 12:18 p.m., Martin Gomez escribió:
> para cada base de datos hay una función (distinta en cada caso) que te 
> devuelve el valor del último id automático utilizado.
>
> aparentemente, en firebird la forma mas sencilla es ejecutar el INSERT 
> con un RETURNING al final, en vez de Query.ExecSQL utilizas Query.Open 
> y ya tenes el resultado.
>
> http://www.firebirdfaq.org/faq243/
>
>
Hola Martín.. recién envié un mail que no se si llegó, pero ya logré el 
cometido:
en el returning hay que poner el nombre real del campo, en mi caso id, y 
luego obtenerlo con el Fieldbyname.

El tema de los generadores, como dice maxi, es que te quedan varios 
huecos de números si la transacción falla, como me pasó a mi ahora probando.
Supongo que otra forma no hay, a no ser que se lleve un contador de 
números aparte para esto, tal como se haría en caso de los nros de 
factura, que no pueden andar quedando huecos por ahí)

SAludos!

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20121219/ecc5ce81/attachment-0002.html>


More information about the Lazarus-es mailing list