Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Obtener el último registro insertado (https://www.clubdelphi.com/foros/showthread.php?t=9875)

mutant09 04-05-2004 19:46:57

Obtener el último registro insertado
 
Cómo se puede obtener el último registro insertado en una tabla mediante un TQuery y sin utilizar el RecordCount?

jachguate 04-05-2004 19:54:31

Hola mutant09.

Las bases de datos relacionales no devuelven en orden de inserción los datasets. Normalmente no almacenan en ningun lugar esta información, por lo que no es posible obtener el último registro insertado. Si haces un Select * from tabla nada garantiza que el último registro devuelto por la base de datos sea el último registro insertado.

Otra cosa es que vos le asignes un contador o algun otro mecanismo en algun campo para este menster.

En ese caso, bastaria con hacer:
Código SQL [-]
Select *
  from tabla
 where campocontador = (select max(campocontador) from tabla);


Hasta luego.

;)

jachguate 04-05-2004 19:56:13

ah.. por otro lado, el RecordCount no te devuelve el último registro, sino la cantidad de registros que tiene el dataset. Dependiendo del motor y los componentes de conexión, este será confiable o no. (con bases de datos relacionales normalmente no lo es... y si lo es, podria desencadenar una innecesaria transferencia masiva de datos del servidor al cliente).

Hasta luego.

;)

delphi.com.ar 04-05-2004 20:59:21

¿Qué motor estas utilizando?
¿Estas usando Querys updateables?


La franja horaria es GMT +2. Ahora son las 06:33:25.

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