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 If
como vera necesito hacer la tres transacciones si o si .mil gracias
1 respuesta
Respuesta de Roberto Alvarado
1