[firebase-br] Erro de conversão - Integer - URGÊNTE!!!

Marcelo Wollmer marcelowollmer em yahoo.com.br
Sex Jul 6 16:40:34 -03 2007


Pessoal, boa tarde!
Eu trabalho com Delphi 6 + DbExpress + Firebird 1.5

Tenho um sistema de controle de entrada e saída de visitantes. Tenho uma tabela VISITANTES com um campo ID (autonumeração - Generator: GEN_VISITANTE_ID).

Por vários motivos, eu pego o próximo ID através do Delphi usando o componente SQLQuery(sqlNovoVisitante) do dbExpress, com o sequinte comando sql:

Select gen_ID(gen_visitante_id, 1) as nID
>From RDB$Database

E atribuo o valor retornado para uma variável vID_Visitante, a qual declaro como INTEGER, da seguinte forma:

vID_Visitante := DataModulo.sqlNovoVisitante.Fields.Fields[0].AsInteger;

Isso funcionou muito bem até o ID do Visitante de número 9999.
Agora o sistema praticamente parou, pois quando eu executo a rotina acima, para recupear o próximo ID (10000) o sistema me apresenta a seguinte mensagem de erro:

...EConvertError with message '1000?' is not a valid floating point value...

O ID na tabela de visitante é Integer, a variável também declarei como Integer. O que pode estar errado?

Agradeço qualquer ajuda.
Obrigado
Abraços


Mais detalhes sobre a lista de discussão lista