Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Visualizar el valor de un autoincremental (https://www.clubdelphi.com/foros/showthread.php?t=11702)

jbaleriola 22-06-2004 22:18:57

Visualizar el valor de un autoincremental
 
Quisiera recuperar el último valor introducido de un tabla que tiene como campo clave un campo de tipo autoincremental; la función LAST_INSERT_ID() lo hace, sin embargo no puedo visualizar el resultado, es decir, mostrarlo en pantalla, por ejemplo. ¿Alguna idea? Gracias por vuestro tiempo.

roman 22-06-2004 22:28:47

¿Cómo está eso de que no puedes visualizar el valor?

last_insert_id() devuelve un registro con un campo de manera que sólo tienes que tomar

Query.Fields[0].AsInteger

donde Query es la componente que uses para ejecutar la consulta SQL.

// Saludos

jbaleriola 23-06-2004 08:33:21

Gracias Roman por contestar, pero el problema sigue persistiendo, tal vez hago algo mal pero no lo se; verás, el código que utilizo es el siguiente:

with SQLQuery1 do
begin
SQL.Clear;
SQL.Add('insert into facturas_cab (factura) values (9000)');
ExecSQL;
SQL.Clear;
SQL.Add('select LAST_INSERT_ID()');
Open;
ShowMessage(SQLQuery1.Fields[0].asString);
// El resultado siempre es 0
end;

donde 'facturas_cab' es una tabla con PRIMARY KEY AUTO_INCREMENT.
Sin embargo si ejecuto select LAST_INSERT_ID() desde un gestor de MySQL
sí me devuelve un valor. La verdad es que no lo entiendo. :confused:

jbaleriola 23-06-2004 23:26:47

Por fin solucionado
 
El código que estaba utilizando era correcto pero el problema está al parecer en el DBExpress de Borland, si utilizo los componentes Zeos la función LAST_INSERT_ID() me devuelve el valor del autoincremental sin problemas. En fin, cosas de Borland :mad:


La franja horaria es GMT +2. Ahora son las 10:34:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi