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.
|
¿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 |
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: |
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