[firebase-br] Erro Commit....

Alan Francisco alanfranc em ig.com.br
Qua Set 23 12:04:51 -03 2009


faz o teste no banco. Insere um registro e vê se dá o mesmo erro. se
acontecer o mesmo "erro", o problea está na trigger ou proc. caso não
aconteça, o problema está na implementação do código...




Em 22/09/09, Pablo Bragança <gafamaey em gmail.com> escreveu:
>
> Seguinte pessoal:
>
>
>
> Tô com um erro no meu sistema que tá meio "maluco" aqui...
>
> Ao gravar as informações na  tabela, se eu uso o Commit na transação, meu
> generator retorna na próxima abertura o valor da última alteração
> incrementado...
> Ou seja, se minha última chave foi 20 e commitar a transação (que
> geralmente eu faço qdo fecho o form), qdo eu reabrir o form para inserir
> novos dados, meu generator vai incrementar os 20 e me retornar 40 da
> sequência....
> Agora, se ao invés de usar o commit, eu usar o commitretaining, isto não
> acontece.. Funciona perfeitinho.....
>
>
> Alguém sabe me dizer o que eu posso estar fazendo errado??? será que meu
> erro tá no momento em que pego o valor do meu generator???
> Segue os trechos do formshow e do botão gravar... Em todos os dois eu pego
> o valor do generator:
>
> procedure TFNMarca.FormShow(Sender: TObject);
> begin
>  caption:= 'SIGCOM - Nova Inclusão de Marca';
>
>  DMSIGCOM.tabMarca.Close;
>  DMSIGCOM.tabMarca.SQL.Clear;
>  DMSIGCOM.tabMarca.SQL.Add('select * from MARCA order by ID_MARCA');
>  DMSIGCOM.tabMarca.Open;
>
>  LimparTela;
>
>  DMSIGCOM.tabMarca.PreparedEdits:= True;
>  DMSIGCOM.tabMarca.Append;
>
>  querygenerator.SQL.Clear;
>  querygenerator.SQL.Add('select GEN_ID (GEN_MARCA_ID,1) from
> RDB$DATABASE');
>  querygenerator.ExecSql;
>
>  cxDBGenerator.Text:= inttostr(querygenerator.Fieldbyname('GEN_ID').Value);
>  cxDBDescricao.SetFocus;
> end;
>
> procedure TFNMarca.btGravarClick(Sender: TObject);
> begin
>  DMSIGCOM.tabMarca.Post;
>  DMSIGCOM.SIGCOM_Trans.CommitRetaining;
>
>  showmessage('MARCA INSERIDA COM SUCESSO!');
>
>  LimparTela;
>
>  DMSIGCOM.tabMarca.Append;
>
>  querygenerator.SQL.Clear;
>  querygenerator.SQL.Add('select GEN_ID (GEN_MARCA_ID,1) from
> RDB$DATABASE');
>  querygenerator.ExecSql;
>
>  cxDBGenerator.Text:= inttostr(querygenerator.Fieldbyname('GEN_ID').Value);
>  cxDBDescricao.SetFocus;
> end;
>
>
>
>
> #########################
> Att,
> Pablo Bragança
> Adm. Redes de Computadores
> Programador - TI - Delphi/Firebird
> Bel. Ciência da Computação
> #########################
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista