none
SqlTransaction com dois métodos RRS feed

  • Pergunta

  • Tenho dois métodos executando cada um comando no banco. O primeiro método recebe os seus parametros como os parametros do método dois também. Cada método está usando um using(SqlConnection....) e dentro do using tenho o SqlCommand. A minha dúvida é se eu abrir uma transação no primeiro método eu poderei retornar os dados caso algum dos métodos der algum erro.

    Att,

    Ricardo

    quinta-feira, 19 de abril de 2007 13:11

Respostas

  • Resolvido... passei a conexão e a transação para o método dois que está dentro do método 1... fiz o teste e funcionou!!!

     

    Att,

     

    Ricardo

    quinta-feira, 19 de abril de 2007 14:19

Todas as Respostas

  • Oi !

     

    Ao invés de abrir a transação direto no banco, utilize o namespace system.transactions do framework 2.0.

     

    Ex. :

     

    Code Snippet

    using tr as new system.transactions.transactionscope()

    try

    ....

    tr.commit

    catch

    end try

    end using

     

     Se dentro do using chamar os dois métodos, os acessos a banco feitos pelos 2 estarão na mesma transação. Isso é controlado por um serviço do sistema operacional, o MSDTC.

     

    []'s

     

     

    quinta-feira, 19 de abril de 2007 13:17
  • Olá Dennes, estou utilizando o framework 1.1.

     

    Att,

     

    Ricardo

    quinta-feira, 19 de abril de 2007 13:24
  • Oi !

     

    Nesse caso, só COM+ salva, mas eu analisaria muito cuidadosamente se o esforço de passar os componentes para o COM+ não seria equivalente ou superior ao esforço de migrar para o framework 2.0.

     

    []'s

     

     

    quinta-feira, 19 de abril de 2007 13:35
  • Resolvido... passei a conexão e a transação para o método dois que está dentro do método 1... fiz o teste e funcionou!!!

     

    Att,

     

    Ricardo

    quinta-feira, 19 de abril de 2007 14:19