Controlar transacciones (ADO)
ADO admite el procesamiento de transacciones dentro de una conexión con la ayuda de los métodos de BeginTrans, CommitTransy RollbackTrans en un objeto Connection. La idea general de implementar el procesamiento de transacciones en ADO se muestra en el siguiente fragmento de código simple.
Const DS = "MySqlServer"
Const DB = "Northwind"
Const DP = "SQLOLEDB"
Dim oConn As ADODB.Connection
Dim oRs As ADODB.Recordset
Dim sConn As String
sConn = "Provider=" & DP & _
";Data Source=" & DS & _
";Initial Catalog=" & DB & _
";Integrated Security=SSPI;"
sSQL = "SELECT ProductID, ProductName FROM Products"
Set oConn = New ADODB.Connection
oConn.Open sConn
' Create and Open the Recordset object.
Set oRs = New ADODB.Recordset
oRs.Open sSQL, oConn, adOpenStatic, adLockOptimistic, adCmdText
If oRs.RecordCount > 1 Then
oRs.MoveFirst
Id1 = oRs("ProductID")
Name1 = oRs("ProductName")
oRs.MoveNext
Id2 = oRs("ProductID")
Name2 = oRs("ProductName")
q = "Switch ID's of " & Name1 & " and " & Name2 & "?"
If MsgBox(q, vbYesNo) = vbYes Then
oRs.MoveFirst
oRs("ProductName") = Name2
oRs.Update
oRs.MoveNext
oRs("ProductName") = Name1
oRs.Update
If MsgBox("Save changes?", vbYesNo) = vbYes Then
Else
End If
End If
End If
oRs.Close
oConn.Close
Este procesamiento de transacciones se usa para asegurarse de que los dos registros se actualizan como una unidad de operación y que los dos nombres de producto se intercambian o no cambian en absoluto.
Para obtener discusiones detalladas sobre el procesamiento de transacciones, consulte actualización y conservación de datos.