[Lazarus-es] obtener id recién grabado

Ismael L. Donis Garcia ismael en citricos.co.cu
Mie Dic 19 22:00:39 CET 2012


Ponlo en un procedimiento almacenado que retorne el valor. Si analizas el ejemplo que te mandé retorna 2 valores: 1 el ide del campo y otro que si es mayor que 0 insertó el registro.

Como dice Martín debes hacer un .Open y revisas el valor del registro.

Saludos Reiterados
=========
|| ISMAEL ||
=========
  ----- Original Message ----- 
  From: Paola Bruccoleri 
  To: Spanish version of Lazarus List 
  Sent: Wednesday, December 19, 2012 3:10 PM
  Subject: Re: [Lazarus-es] obtener id recién grabado


  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!






------------------------------------------------------------------------------


  _______________________________________________
  Lazarus-es mailing list
  Lazarus-es en lists.lazarus.freepascal.org
  http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20121219/7534d013/attachment-0002.html>


More information about the Lazarus-es mailing list