From RAD Studio API Documentation
Jump to: navigation, search


procedure StartTransaction( TransDesc: TTransactionDesc); deprecated;


void __fastcall StartTransaction _DEPRECATED_ATTRIBUTE0 (const TTransactionDesc &TransDesc);


Type Visibility Source Unit Parent
Data.SqlExpr TSQLConnection


Warning: StartTransaction is deprecated.

Initiates a new transaction in the associated database.

Note: StartTransaction has been deprecated. Use BeginTransaction instead.

Call StartTransaction to start a new transaction against a database server that supports transactions. (MySQL servers support transactions but not multiple transactions on one connection.) You can check the TransactionsSupported property to determine whether the server supports transactions. If the server does not support transactions, StartTransaction does nothing.

TransDesc describes the transaction you are starting. It lets you specify:

  • A user-defined transaction identifier. If the server supports nested or overlapped transactions, you can initiate multiple transactions by calling StartTransaction and providing each transaction with its own unique identifier.
  • The transaction isolation level. This indicates the degree to which this transaction can "see" changes made by other transactions.

If the transaction is successfully started, StartTransaction sets the InTransaction property to True.

Updates, insertions, and deletions that take place after a call to StartTransaction are enlisted in that transaction until another overlapping transaction is started or until the application calls Commit to save the changes or Rollback to cancel them.

Tip: If the server does not support multiple transactions, check the status of the InTransaction property to be sure that another transaction is not already in progress.

Tip: When working with overlapped transactions, you can indicate how simultaneous transactions interact when they work on the same tables by setting the IsolationLevel parameter of the TSQLConnection.

See Also