[Lazarus-es] obtener id recién grabado
Paola Bruccoleri
pbruccoleri en adinet.com.uy
Mie Dic 19 21:10:07 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 y demás compañeros..
ya tengo definidos generadores y disparadores en esas tablas. Ya he
probado en otras tablas que al grabar, se genera automáticamente el id
correspondiente sin necesidad de usar un componente zsequence.
Ahora estoy probando de usar el RETURNING... en un zquery coloqué algo así:
insert into tabla (c1, c2, c3) values (:c1, :c2, :c3) returning codigo
cargo los parámetros
hago un qry.open;
pero no se como capturar el campo código para usarlo en el otro query
con el insert.
hice algo así:
nCodigo:= qry.FieldByName('codigo').AsInteger;
pero no funciona!.. (lo mismo usando ParamByName)
no se cual será la sintaxis correcta...
muchas gracias!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20121219/58a1a48e/attachment-0002.html>
More information about the Lazarus-es
mailing list