MySQL Connector/Net
MySqlTransaction Class |
Represents a SQL transaction to be made in a MySQL database. This class cannot be inherited.

SystemObject SystemMarshalByRefObject
System.Data.CommonDbTransaction
MySql.Data.MySqlClientMySqlTransaction
System.Data.CommonDbTransaction
MySql.Data.MySqlClientMySqlTransaction
Namespace: MySql.Data.MySqlClient
Assembly: MySql.Data (in MySql.Data.dll) Version: 6.9.9

public sealed class MySqlTransaction : DbTransaction, IDisposable
Public NotInheritable Class MySqlTransaction Inherits DbTransaction Implements IDisposable
public ref class MySqlTransaction sealed : public DbTransaction, IDisposable
[<SealedAttribute>] type MySqlTransaction = class inherit DbTransaction interface IDisposable end
The MySqlTransaction type exposes the following members.

Name | Description | |
---|---|---|
![]() | Connection |
Gets the MySqlConnection object associated with the transaction, or a null reference (Nothing in Visual Basic) if the transaction is no longer valid.
|
![]() | DbConnection | (Overrides DbTransactionDbConnection.) |
![]() | IsolationLevel |
Specifies the IsolationLevel for this transaction.
(Overrides DbTransactionIsolationLevel.) |

Name | Description | |
---|---|---|
![]() ![]() | Commit |
Commits the database transaction.
(Overrides DbTransactionCommit.) |
![]() | CreateObjRef | Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.) |
![]() | Dispose | |
![]() | Dispose(Boolean) | (Overrides DbTransactionDispose(Boolean).) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | (Overrides ObjectFinalize.) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() | GetLifetimeService | Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | InitializeLifetimeService | Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | MemberwiseClone(Boolean) | Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.) |
![]() ![]() | Rollback |
Rolls back a transaction from a pending state.
(Overrides DbTransactionRollback.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |

The application creates a MySqlTransaction object by calling BeginTransaction
on the MySqlConnection object. All subsequent operations associated with the
transaction (for example, committing or aborting the transaction), are performed on the
MySqlTransaction object.

The following example creates a MySqlConnection and a MySqlTransaction.
It also demonstrates how to use the BeginTransaction,
Commit, and Rollback methods.
public void RunTransaction(string myConnString) { MySqlConnection myConnection = new MySqlConnection(myConnString); myConnection.Open(); MySqlCommand myCommand = myConnection.CreateCommand(); MySqlTransaction myTrans; // Start a local transaction myTrans = myConnection.BeginTransaction(); // Must assign both transaction object and connection // to Command object for a pending local transaction myCommand.Connection = myConnection; myCommand.Transaction = myTrans; try { myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"; myCommand.ExecuteNonQuery(); myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"; myCommand.ExecuteNonQuery(); myTrans.Commit(); Console.WriteLine("Both records are written to database."); } catch(Exception e) { try { myTrans.Rollback(); } catch (MySqlException ex) { if (myTrans.Connection != null) { Console.WriteLine("An exception of type " + ex.GetType() + " was encountered while attempting to roll back the transaction."); } } Console.WriteLine("An exception of type " + e.GetType() + " was encountered while inserting the data."); Console.WriteLine("Neither record was written to database."); } finally { myConnection.Close(); } }
Public Sub RunTransaction(myConnString As String) Dim myConnection As New MySqlConnection(myConnString) myConnection.Open() Dim myCommand As MySqlCommand = myConnection.CreateCommand() Dim myTrans As MySqlTransaction ' Start a local transaction myTrans = myConnection.BeginTransaction() ' Must assign both transaction object and connection ' to Command object for a pending local transaction myCommand.Connection = myConnection myCommand.Transaction = myTrans Try myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')" myCommand.ExecuteNonQuery() myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')" myCommand.ExecuteNonQuery() myTrans.Commit() Console.WriteLine("Both records are written to database.") Catch e As Exception Try myTrans.Rollback() Catch ex As MySqlException If Not myTrans.Connection Is Nothing Then Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ " was encountered while attempting to roll back the transaction.") End If End Try Console.WriteLine("An exception of type " & e.GetType().ToString() & _ "was encountered while inserting the data.") Console.WriteLine("Neither record was written to database.") Finally myConnection.Close() End Try End Sub 'RunTransaction
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
