Retornar último valor - com condição
Modelo muito útil para criar uma possibilidade de realizar consultas no banco de dados para buscar o último valor (inteiro) em uma tabela, também é possível acrescentar uma condição, exemplo um código de chave primária de uma tabela que deva possuir as suas respectivas sequências, poderá ser usado a condição AND ID = X
. Para usar este modelo faça o seguinte.
Pressione o atalho de teclado
CTRL + J
Procure por
RetornarUltimoValor
Pressione
ENTER
e o seguinte código aparecerá.
uses
DB, Classes, DBClient, Graphics, Controls, Forms, Dialogs;
function RetornarUltimoValor(ACampo: String; ATabela: String;
ACondicao: String): Integer;
var
vCdsTmp: TVsClientDataSet;
const
cSQLUltimoValor =
'#SELECT NVL(MAX(%0:S), 0) CAMPO_ULTIMO_VALOR FROM %1:S WHERE 1 = 1 %2:S' ;
begin
Result := -1;
vCdsTmp:= TVsClientDataSet.Create(nil);
try
vCdsTmp.Data := dmConexao3c.QueryPegaData
(Format(cSQLUltimoValor, [ACampo, ATabela, ACondicao]), '*', [], [], []
);
if not vCdsTmp.IsEmpty then
Result := vCdsTmp.FieldByName('CAMPO_ULTIMO_VALOR').AsInteger;
finally
vCdsTmp.Free;
end;
end;
Não esquecer de acrescentar o AND quando for usado o campo de condição.