boa tarde, estou usando o seguinte codigo para verificar a ultima consulta no banco de dados
verificaId : integer;
idFinal : integer;
qryId = select top(1) id from mensagens
order by id desc // exemplo de como esta o sql na query
qryId.ExecSQL;
if (qryid.Active) then
begin
if not (qryid.IsEmpty) then
begin
idFinal := qryid.FieldByName(‘id’).AsInteger;
end;
end;
if (idFinal > verificaId) then
begin
verificaId := idFinal;
Notificacao.ShowBalloonHint;
end;
este codigo esta dentro de um timer, porem todas vez que esse codigo e chamado o id acusa sempre ser maior, o verificaid é zerado a todo momento tornando o if sempre verdadeiro.
Alguem sabe no que estou errando?