Steuern von Transaktionen (ADO)
ADO unterstützt die Transaktionsverarbeitung in einer Verbindung mithilfe der Methoden BeginTrans, CommitTrans und RollbackTrans für ein Connection-Objekt. Der Grundgedanke der Implementierung der Transaktionsverarbeitung in ADO wird im folgenden einfachen Codeausschnitt veranschaulicht.
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
Hier wird die Transaktionsverarbeitung verwendet, um sicherzustellen, dass die beiden Datensätze als eine Einheit aktualisiert werden und dass die beiden Produktnamen entweder ausgetauscht oder gar nicht geändert werden.
Eine ausführliche Betrachtung der Transaktionsverarbeitung finden Sie unter Aktualisieren und Beibehalten von Daten.