<!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>
<div> <br>
</div>
</div>
<br>
</blockquote>
Hola Martín.. recién envié un mail que no se si llegó, pero ya logré
el cometido:<br>
en el returning hay que poner el nombre real del campo, en mi caso
id, y luego obtenerlo con el Fieldbyname.<br>
<br>
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.<br>
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í)<br>
<br>
SAludos!<br>
<br>
</body>
</html>