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