Fórum como pegar o ultimo numero do generitor e jogar em uma variavel #414686

27/03/2012

0

não e isto, não

queria uma maneira de pegar o ultimo numero do generaitor criado para a tabela em questão.

no seu caso eu teria que abrir a tabela para dar um comando last que ira para o ultimo registro e dai pegar o numero no campo. nao e essa minha intensao, preciso saber o ultimo numero gerado pelo generaitor, mas sem ter que abrir a tabela em questão, pois penso esta tabela agora e pequena, mas daqui a alguns anos ela se tornara grande e deixara o sistema lento para poder abrir. a informação que me interessa nesta tabela e pegar o ultimo registro gravado nela,para isso e so aplicar um filtro informado o ultimo registro e so sera trafegado na rede 1 registro so, seeu tiver que abrir toda tabela para saber o ultimo registro,para mim não serve.

vou te esplicar melhor ,no meu sistema tem um dedo duro,ou seja tudo que o usuario fizer vai ficar registrado emuma tabela,por isso da pra se entender que logo esta tabela ira ficar enorme,a minha ideia e aplicar um filtro nos ultimos 50 operações executadas, mas pra isso teria de saber o ultimo numero e aplicar um filtro tirando 50 que me daria a faixa requerida das informações. so para constrar e um sistema para hotel,e o gerente pe pediu um dedo duro no sistema,para saber oque o pessoal anda fazendo

me enviaram um select que sei que resolveria o problema mas não sei como aplicar o select, e ainda guardar o numero retornado por ele em uma variavel

espero que alguem me ajude
Edson Melo

Edson Melo

Responder

Posts

27/03/2012

João Sobrinho

Colega, tente assim:

SELECT GEN_ID(NomeDoGenerator,0) AS SEQUENCIA FROM RDB$DATABASE

Espero ter ajudado.
Responder

Gostei + 0

27/03/2012

Bruno Leandro

qual o banco de dados que voce esta usando
Responder

Gostei + 0

29/03/2012

Joel Rodrigues

Crie uma query com o select citado acima. Abra a query e recupere o valor através do nome do campo:

var
ultimo_valor:integer;
begin;
qryULtimoValor.Open();
ultimo_valor := qryULtimoValor.FieldByName(´SEQUENCIA´).AsInteger;
qryULtimoValor.Close();
end;

Teste, adaptando à sua necessidade, e veja no que dá.
Boa sorte.
Responder

Gostei + 0

29/03/2012

Edson Melo

me desculpem pela demora e que não tenho internet em casa e por isso demoro um pouco para ver as resposta e comemntar
o resultado

vou testar as opções propostas e logo volto a postar

eu uso o delphi 2010 com firebird
Responder

Gostei + 0

07/04/2012

Edson Melo

ok ja consegui resolver

obrigado a todos
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar