Como fazer para um TQuery executar um gen_id?

Delphi

28/10/2004

Quando eu executo a query (BDE):

select gen_id(G_cfemp,1) from RDB$DATABASE

ela me retorna um campo tipo Byte.

Como converter o valor para integer ou, ainda, como trazer o valor já como integer?

Obrigado.


Ronaldo

Ronaldo

Curtidas 0

Respostas

Delphi32

Delphi32

28/10/2004

Depois de executar a query faça o seguinte e veja se funciona:

...
var i:integer
begin
   i := Query1.Fields[0].AsInteger;
end;


Assim você força a retornar um valor inteiro. Eu só não entendo como pode estar retornando um valor Byte. Qual banco de dados você está usando? E como você viu que está retornando um valor Byte?

Até!


GOSTEI 0
Ronaldo

Ronaldo

28/10/2004

Estou utilizando o interbase6.

Se vc for, por exemplo, no databasedesktop e exucutar:

select gen_id(NOME DO GENERATOR,0) from RDB$DATABASE, verá que retonar um campo byte e não integer.

Dentro do meu programas, se tento utilizar o .asInteger ele dá um erro dizendo que byte não pode ser convertido para integer.

Grato.


GOSTEI 0
POSTAR