none
Sequencia do Transaction RRS feed

  • Pergunta

  • Ola, estou usando transaction, mas o evento rollback nao funcionou deixando os dados na tabela. A sequencia que esta abaixo esta certo?


    Public Sub INSERIR_TODOS(DTM As DataTable, DT_PGTO As DataTable, ByVal LOG As TYP_LOG_SISTEMA) Dim D_PAGAR = New DAL_CONTAS_PAGAR Dim D_ESTOQUE = New DAL_ESTOQUE Dim CMD As New MySqlCommand() Dim TRANS As MySqlTransaction BANCO.CONECTA() TRANS = BANCO._SCONN.BeginTransaction CMD.Transaction = TRANS Try INSERIR_DT(DTM, LOG) D_ESTOQUE.INSERIR_DT(DTM, LOG) D_PAGAR.INSERIR_DT(DT_PGTO, LOG) TRANS.Commit() Catch ex As Exception TRANS.Rollback() Throw New Exception(ex.Message) Finally BANCO.DESCONECTA() End Try End Sub


     Private Sub INSERIR_DT(DTM As DataTable, ByVal LOG As TYP_LOG_SISTEMA)
                Dim CMD As New MySqlCommand("SP_INSERT_DET_ITENS_ENTRADA", BANCO._SCONN)
                CMD.CommandType = CommandType.StoredProcedure
                For Each LINHA In DTM.Rows
                    With CMD.Parameters
                        .AddWithValue("@V_DS_OBSERVACAO", LINHA("OBSERVACAO").ToString)
                        .AddWithValue("@V_DS_QTDE", LINHA("QTDE"))
                        .AddWithValue("@V_DS_MEDIO_1", LINHA("REAIS"))
                        .AddWithValue("@V_DS_MEDIO_2", LINHA("DOLAR"))
                        .AddWithValue("@V_DS_LOTE", LINHA("LOTE"))
                        .AddWithValue("@V_DS_VENCIMENTO", LINHA("VENCIMENTO"))
                        .AddWithValue("@V_ID_CAB_ENTRADAS", LINHA("CAB_ENTRADAS"))
                        .AddWithValue("@V_ID_DEPOSITO", LINHA("COD_DEPOSITO"))
                        .AddWithValue("@V_ID_PRODUTO", LINHA("COD_PRODUTO"))
                        .AddWithValue("@V_ID_USUARIO", LOG._ID_USUARIO)
                        .AddWithValue("@V_DS_TELA", LOG._DS_TELA)
                    End With
                    CMD.ExecuteNonQuery()
                Next
            End Sub




    Hellmann's (Joviano Pott)

    quarta-feira, 11 de junho de 2014 02:10

Respostas

  • Ola, ja achei o problema. estava na minha procedure.

    Dentro dela eu tinha um commit  tambem. removi ele e deu certo.


    Hellmann's (Joviano Pott)

    • Marcado como Resposta Joviano quarta-feira, 11 de junho de 2014 02:35
    quarta-feira, 11 de junho de 2014 02:35