<!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>