SqlConnection::BeginTransaction Method (String^)
Starts a database transaction with the specified transaction name.
Assembly: System.Data (in System.Data.dll)
Parameters
- transactionName
-
Type:
System::String^
The name of the transaction.
Return Value
Type: System.Data.SqlClient::SqlTransaction^An object representing the new transaction.
| Exception | Condition |
|---|---|
| SqlException | Parallel transactions are not allowed when using Multiple Active Result Sets (MARS). |
| InvalidOperationException | Parallel transactions are not supported. |
This command maps to the SQL Server implementation of BEGIN TRANSACTION.
The length of the transactionName parameter must not exceed 32 characters; otherwise an exception will be thrown.
The value in the transactionName parameter can be used in later calls to Rollback and in the savePoint parameter of the Save method.
You must explicitly commit or roll back the transaction using the Commit or Rollback method. To make sure that the .NET Framework Data Provider for SQL Server transaction management model performs correctly, avoid using other transaction management models, such as the one provided by SQL Server.
For more information on SQL Server transactions, see "Explicit Transactions" and "Coding Efficient Transactions" in SQL Server Books Online.
Caution |
|---|
When your query returns a large amount of data and calls BeginTransaction, a SqlException is thrown because SQL Server does not allow parallel transactions when using MARS. To avoid this problem, always associate a transaction with the command, the connection, or both before any readers are open. |
The following example creates a SqlConnection and a SqlTransaction. It also demonstrates how to use the BeginTransaction, a Commit, and Rollback methods.
Available since 1.1
