none
SqlTransaction RRS feed

  • Pergunta

  •  

    Como uso o SqlTransaction

     

     tenho uma metodo de persistencia no banco que faz a inserção de registros em duas tabelas, abri a conexao e fiz um objeto do tipo SqlTransaction receber o metodo BeginTransaction da conexao, mas nao tem dado certo como posso fazer?

     

    Esse é meu código:       

     

    Code Snippet

            protected SqlConnection Conexao;
            protected SqlCommand Comando;
            protected SqlTransaction Transacao;
           
            protected void AbreConexao()
            {
                Conexao.Open();
                Transacao = Conexao.BeginTransaction();
            }

            protected void FecharConexaoCommit()
            {
                Transacao.Commit();
                Conexao.Close();
            }

            protected void FecharConexaoRollback()
            {
                Transacao.Rollback();
                Conexao.Close();
            }

     

     

    mas não tem dado certo, como posso fazer? desde já agradeço a ajuda de todos.
    segunda-feira, 30 de junho de 2008 20:55

Todas as Respostas

  •  

    Alexandre,

     

    Como vc está usando o objeto Transacao?

     

    Um exemplo em VB.NET

    Code Snippet

     

    'define a conexão
     Dim con As SqlConnection = New SqlConnection("sua string de conexão")

     

    'define o objeto SqlTransaction
     Dim transaction As SqlTransaction
     con.Open

     

    'Inicia a Transação
     
    transaction = con.BeginTransaction 

     

     Try
       'relaciona os comandos e executa-os
       call (New SqlCommand("INSERT INTO Tabela1 " + "(Texto) VALUES ('teste1');", con, transaction)).ExecuteNonQuery 

     

       call (New SqlCommand("INSERT INTO Tabela1 " + "(Texto) VALUES ('teste2');", con, transaction)).ExecuteNonQuery 

     

       call (New SqlCommand("INSERT INTO Tabela2 VALUES " + "('A', 'B', 'C');", con, transaction)).ExecuteNonQuery 

     

       'efetua o commit e confirma as alterações
       transaction.Commit
     Catch sqlError As SqlException
       'se ocorreu uma exceção desfaz as alterações
       transaction.Rollback
     End Try 


     con.Close

     

     

    VB.NET 2005 - Usando transações em atualizações de tabelas

    http://www.macoratti.net/vbn5_trt.htm

    terça-feira, 1 de julho de 2008 02:47