RES: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico Paulo Sérgio
Alisson, No alguns erros são retornado pelo onReconcileError do ClientDataSet. Os erros que não são tratados dentro do Try...Except trate-os dentro do OnReconcileError do CDS. Abraços, Paulo Sérgio Bthe - MG -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROT

Re: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico João Paulo Linhares Gonçalves
Desse jeito ele vai tentar executar o commit mesmo que dê erro. O commit tem que estar dentro do bloco try. Em 03/06/05, Vitor Luiz Redes<[EMAIL PROTECTED]> escreveu: >Olhe, se não me engano, o seu bloco Try está errado, tente assim ... > > conn.StartTransaction(TD); > try >try >csdC

Re: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico Francisco Thiago
Olha, então vc pode mudar o código para o seguinte: if Cds1.ApplyUpdate(0) <> 0 then Abort; else if Cds2.ApplyUpdates(0) <> 0 then Abort; else if... Daí ele não vai executar os código seguintes. O erro que acontece depois (o de chave não especificada) é pq no seu SQLDataSet você

Re: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico Alisson
Francisco e demais colegas, Na verdade eu estou aplicando update de vários ClientDataSet's, então estou fazendo como a própria ajuda recomenda: starto a transação, dentro de um bloco protegido e aplico os updates de todos e salvo (commit), caso ocorra algum erro em um dos CDS's é preciso revert

Re: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico Francisco Thiago
Seguinte: Nunca use ApplyUpdate(-1) pq assim ele vai deixar passar todos os erros. Faça um ApplyUpdate(0) que a cada erro ele vai chamar o OnReconcileError. Se você quiser simplesmente jogar uma execeção para o usuario faça: on e: Exception do raise Exception.Create(e.message) .. no evento On

Re: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico Vitor Luiz Redes
Olhe, se não me engano, o seu bloco Try está errado, tente assim ... conn.StartTransaction(TD); try try csdCliente.ApplyUpdates(0); except conn.RollBack(TD); finally conn.Commit(TD); end end; Foi mal se estiver com algo errado, eu não testei ... mas assim deve funcion

RES: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico Alexandre
Olá, É verdade, você deve usar o evento OnReconcileError do ClientDataset pra tratar os erros do banco. Exemplo, crie no seu datamodule uma proc. assim: (adapte aí pra você) procedure TDataModule1.CommonReconcile(DataSet: TCustomClientDataSet; E: EReconcileE

Re: [delphi-br] try..except não funciona com DBExpress(?)

2005-06-03 Por tôpico -=SchiavoR=-
Eu tive problemas pra utilzar Transações com DBExpress quando usava o driver da UIB, ele simplesmente ignorava o exception e commitava os dados, ai passei a usar o driver para interbase e apesar das incompatibilidades com o FB 1.5 as transações funcionam normais agora. carlos sene escreveu: >