BeginTrans, CommitTrans, RollbackTrans Methods
The transaction methods manage transaction processing within a Connection
object as follows
· BeginTrans begins a new
transaction.
· CommitTrans saves any changes and
ends the current transaction. It may also start a new transaction.
· RollbackTrans cancels any changes
made during the current transaction and ends the transaction. It may also
start a new transaction.
Syntax
[level = ] connection.BeginTrans connection.{CommitTrans
| RollbackTrans}
The connection placeholder is an object variable representing an open Connection
object.
The level placeholder represents a Long variable to which the BeginTrans
method can return a value indicating the nesting level of the transaction. The
CommitTrans and RollbackTrans methods do not return any value.
Remarks
Use these methods with a Connection object when you want to save or
cancel a series of changes made to the source data as a single unit. For
example, to transfer money between accounts, you subtract an amount from one
and add the same amount to the other. If either update fails, the accounts no
longer balance. Making these changes within an open transaction ensures either
all or none of the changes goes through.
Once you call the BeginTrans method, the provider will no longer
instantaneously commit any changes you make until you call CommitTrans
or RollbackTrans to end the transaction.
For providers that support nested transactions, calling the BeginTrans
method within an open transaction starts a new, nested transaction. The return
value indicates the level of nesting: a return value of "1"
indicates you have opened a top-level transaction (that is, the transaction is
not nested within another transaction), "2" indicates that you have
opened a second-level transaction (a transaction nested within a top-level
transaction), and so forth. Calling CommitTrans or RollbackTrans
affects only the most recently opened transaction; you must close or rollback
the current transaction before you can resolve any higher level transactions.
Calling the CommitTrans method saves changes made within an open
transaction on the connection and ends the transaction. Calling the RollbackTrans
method reverses any changes made within an open transaction and ends the
transaction. Calling either method when there is no open transaction generates
an error.
Depending on the Connection object's Attributes
property, calling either the CommitTrans or RollbackTrans
methods may automatically start a new transaction. If the Attributes
property is set to adXactCommitRetaining, ADO automatically starts a
new transaction after a CommitTrans call. If the Attributes
property is set to adXactAbortRetaining, ADO automatically starts a new
transaction after a RollbackTrans call.
Applies To
Connection
See Also
Attributes
|