<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    El 19/12/2012 12:18 p.m., Martin Gomez escribió:
    <blockquote
cite="mid:CAFGJXk0jUt3Jb4XxEKtX+0_XB5+g-1WVPU2sfi5saTXNguQCrw@mail.gmail.com"
      type="cite">
      <meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
      <div> para cada base de datos hay una función (distinta en cada
        caso) que te devuelve el valor del último id automático
        utilizado.
        <div> <br>
        </div>
        <div> 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. </div>
        <div> <br>
        </div>
        <div> <a moz-do-not-send="true"
            href="http://www.firebirdfaq.org/faq243/">http://www.firebirdfaq.org/faq243/</a><br>
        </div>
        <br>
      </div>
    </blockquote>
    Hola MArtín y demás compañeros..<br>
    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.<br>
    Ahora estoy probando de usar el RETURNING... en un zquery coloqué
    algo así:<br>
    <br>
    insert into tabla (c1, c2, c3) values (:c1, :c2, :c3) returning
    codigo<br>
    <br>
    cargo los parámetros <br>
    hago un qry.open;<br>
    <br>
    pero no se como capturar el campo código para usarlo en el otro
    query con el insert.<br>
    <br>
    hice algo así:<br>
    nCodigo:= qry.FieldByName('codigo').AsInteger;       <br>
    pero no funciona!.. (lo mismo usando ParamByName)<br>
    no se cual será la sintaxis correcta...<br>
    <br>
    muchas gracias!<br>
    <br>
    <br>
    <br>
  </body>
</html>