PDA

Ver la Versión Completa : Visualizar el valor de un autoincremental


jbaleriola
22-06-2004, 22:18:57
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
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: