Problemas con transacciones
buenos días necesito de tu ayuda trabajo con visual 2008 y access 2007 (mas adelante lo voy a actualizar con sql 2008) por favor estoy con este tema una semana y no encuentro la solución para mi problema te explico al guardar ciertos datos actualizo e ingreso datos a diferentes tablas y para hacer eso quiero utilizar transacciones no encuentro ejemplos para este tema de esta manera ingreso datos y actualizo: en una clase mantenimiento
Public Function insertar(ByVal sql As String) As Boolean Con.Open() comando = New OleDb.OleDbCommand(sql, Cn) Dim i As Integer = comando.ExecuteNonQuery Cn.Close() If i > 0 Then Return True Else Return False End If End Function
Public Function actualizar(ByVal tablax As String, ByVal campos As String, ByVal condición As String) As Boolean Con.Open() Dim sql As String = "update " & tablax & " set " & campos & " where " & condicion comando = New OleDb.OleDbCommand(sql, Cn) Dim i As Integer = comando.ExecuteNonQuery Cn.Close() If i > 0 Then Return True Else Return False End If End Function
esto ingreso en guardar
Private Sub BtGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtGrabar.Click
If MessageBox.Show("ESTA SEGURO DE GRABAR", "CONFIRME", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then
Try
Dim campos As String = " consumo= '" & COBRANZAS.DGVvisordepositos.SelectedRows(0).Cells(7).Value & "' , saldo= '" & COBRANZAS.DGVvisordepositos.SelectedRows(0).Cells(8).Value & "'"
'aqui ingreso datos a la tabla depositos
claseobcobranzas2.actualizar("DEPOSITOS", campos, "iddeposito = '" & COBRANZAS.DGVvisordepositos.SelectedRows(0).Cells(0).Value & "'")
For i = 0 To DGVvisorpendientes.Rows.Count - 1
Dim campos2 As String = " estado= '" & DGVvisorpendientes.Rows(i).Cells(5).Value & "' , pendiente= '" & DGVvisorpendientes.Rows(i).Cells(12).Value & "' , totalcobrado= '" & DGVvisorpendientes.Rows(i).Cells(13).Value & "'"
If DGVvisorpendientes.Rows(i).Cells(14).Value > 0 Then
'aqui inserto datos a la tabla detalle depositos para saber que facturas cancelo este deposito
Dim sql As String = "insert into DETALLEDEPOSITOS values ('" & COBRANZAS.DGVvisordepositos.SelectedRows(0).Cells(0).Value & "' , '" & DGVvisorpendientes.Rows(i).Cells(0).Value & "' , '" & DGVvisorpendientes.Rows(i).Cells(14).Value & "')"
claseobcobranzas2.insertar(sql)
'aqui actualizo la tabla facturas los campos estado,pendiente ,cobrado
claseobcobranzas3.actualizar("FACTURAS", campos2, "idfactura = '" & DGVvisorpendientes.Rows(i).Cells(0).Value & "'")
End If
Next
MsgBox("SE GRABO CORRECTAMENTE", MsgBoxStyle.Information, "CONFIRMACION")
Call FILTRAR2()
Call COBRANZAS.FILTRAR()
Me.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Ifcomo vera necesito hacer la tres transacciones si o si .mil gracias
1 Respuesta
Respuesta de Roberto Alvarado
1