FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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.
|
#2
|
||||
|
||||
¿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 |
#3
|
|||
|
|||
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. |
#4
|
|||
|
|||
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
|
|
|
|