Rollback Method Example

This example demonstrates the use of BeginTrans and Rollback to group a set of dynaset edits into a single transaction. Copy this code into the definition section of a form. Then press F5.

Sub Form_Load ()

'Declare variables as OLE Objects.

Dim OraSession As Object

Dim OraDatabase As Object

Dim OraDynaset As Object

'Create the OraSession Object.

Set OraSession = CreateObject("OracleInProcServer.XOraSession")

'Create the OraDatabase Object by opening a connection to Oracle.

Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&)

'Create the OraDynaset Object.

Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&)

'Start Transaction processing.

OraDynaset.Session.BeginTrans

'Traverse until EOF is reached, setting

'each employee
s salary to zero.

Do Until OraDynaset.EOF

OraDynaset.Edit

OraDynaset.Fields("sal").value = 0

OraDynaset.Update

OraDynaset.MoveNext

Loop

MsgBox "All salaries set to ZERO."

'Currently, the changes have NOT been committed

'to the database.

'End Transaction processing.

OraDynaset.Session.Rollback

MsgBox "Salary changes rolled back."

End Sub

Contents