RES: [firebase-br] GEN_ID x dbExpress

Rubem Rocha rrocha em fpf.br
Ter Dez 14 12:32:11 -03 2004


Duas coisas:

1) Cheque o driver dbExpress que vc está usando. Isto deveria funcionar normalmente;
2) Sobre a sentença SQL utilizada, além de ela retornar próxima ocorrência, ela já incrementa o valor do generator. Para retornar o próximo valor sem incrementar o generator, sugere-se usar o seguinte:

'SELECT GEN_ID(GN_GERAL, 0) + 1 FROM RDB$DATABASE'

[]s

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em nome de Álvaro Vieira
Enviada em: terça-feira, 14 de dezembro de 2004 09:27
Para: lista em firebase.com.br
Assunto: [firebase-br] GEN_ID x dbExpress


Pessoal,

Tentei usar a função abaixo para me retornar o próximo valor de um 
GENERATOR, mas não está funcionando.

Uso: Delphi 6 / Firebird 1.5 / dbExpress

01 function TDataMod.GetNextID : Integer;
02 var
03   qry : TSQLQuery;
04 begin
05   qry := TSQLQuery.Create(nil);
06   qry.SQLConnection := DataMod.DB;
07   qry.SQL.Text := 'select gen_id(GN_GERAL, 1) from rdb$database';
08   qry.Open;
09   Result := qry.Fields[0].AsInteger;
10   qry.Close;
11   FreeAndNil(qry);
12 end;

Na linha 12, apresenta a mensagem: "... EConvertError with message 
"6029=' is not a valid floating point value'".

Alguém pode me passar alguma dica? Será incompatibilidade do dbExpress 
com o Firebird???

--
Álvaro Vieira
arcoverdeneto em yahoo.com.br

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.799 / Virus Database: 543 - Release Date: 19/11/2004
 




Mais detalhes sobre a lista de discussão lista