O problema é que os componentes nativos do delphi estão ultrapassados, eu recomendo vc procurar uma suite de componentes de conexão de terceiros, aí sim, vc terá um resultado muito melhor.
Lembre-se, o banco de dados evolui e é atualizado praticamente todos os dias, a framework também tem q ter atualizações. 2009/8/14 Ricardo Lima <rlma...@gmail.com> > > > Estou com um problema chato aqui, no Delphi algumas coisas que é o > trivial não funciona. > > Tenho esse trecho de código abaixo, tenho que alterar varias tabelas e > faz tudo dentro de uma transação. > > > StartTransaction; > Try > > Apply_Update(cdsRecebimentos); > Apply_Update(cdsMovimentacaoContas); > LancaVinculosMovimentoContas; > Apply_Update(cdsRecebimentos); > Apply_Update(cdsMovimentoContas); > Apply_Update(cdsCadastro); > > cdsCadastro.First; > While Not cdsCadastro.Eof Do > Begin > >>>>Arqui onde gera o erro, tenho uma classe(DataModele) que > responsavel por carregar as informações fazer alterações e gravar, porem > no Open do dataset gera o erro > if cdsCadastroVALOR_TOTAL_DEVIDO.AsFloat <> > cdsCadastroVALOR_TOTAL_DEVIDO_ANTERIOR.AsFloat Then > begin > With > > AbreContasReceberDam(cdsCadastro.FieldByName('COD_CONTA_RECEBER').AsInteger, > > cdsCadastro.FieldByName('COD_EMP_CONTA_RECEBER_CAD').AsInteger) Do > //NESSE PONTO DA O ERRO > Try > DoGravar; > Finally > DataModule.Free; > End; > end; > cdsCadastro.Next; > End; > > CommitTransaction; > Except > On E: Exception Do > Begin > If dtmConexao.connConexao.InTransaction Then > RollBackTransaction; > Raise > End; > end; > end; > > Porem não posso abrir um ClientDataSet no meio de uma transação que gera > essa exception > "Não é possível criar uma nova conexão porque o modo usado é o de > transação manual ou distribuída" > > É uma coisa tão básica e no Delphi não funciona, desanimador isso. > > Alguem tem alguma luz do por que isso esta ocorrendo. > > Obrigado. > > At. > Ricardo Lima > > -- > Estou utilizando a versão gratuita de SPAMfighter para usuários privados. > Foi removido 5225 emails de spam até hoje. > Os usuários pagantes não têm esta mensagem nos seus emails. > Adquira SPAMfighter grátis aqui: http://www.spamfighter.com/lpt > > > [As partes desta mensagem que não continham texto foram removidas]