Represents a SQL transaction to be made in the MySQL database.
The following example creates a
MySqlConnection and a
MySqlTransaction. It also demonstrates how to use the
MySqlConnection.BeginTransaction,
Commit, and
Rollback methods.
|
|---|
public static void RunMySqlTransaction(string myConnString) {
using (MySqlConnection myConnection = new MySqlConnection(myConnString)) {
myConnection.Open();
// Start a local transaction
MySqlTransaction myTrans = myConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
MySqlCommand myCommand = myConnection.CreateCommand();
try {
myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(52, 'DEVELOPMENT')";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(62, 'PRODUCTION')";
myCommand.ExecuteNonQuery();
myTrans.Commit();
Console.WriteLine("Both records are written to database.");
}
catch (Exception e) {
myTrans.Rollback();
Console.WriteLine(e.ToString());
Console.WriteLine("Neither record was written to database.");
}
finally {
myCommand.Dispose();
myTrans.Dispose();
}
}
} |
|
|---|
Public Shared Sub RunMySqlTransaction(myConnString As String)
Using myConnection As New MySqlConnection(myConnString)
myConnection.Open()
' Start a local transaction
Dim myTrans As MySqlTransaction = myConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)
Dim myCommand As MySqlCommand = myConnection.CreateCommand()
Try
myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(52, 'DEVELOPMENT')"
myCommand.ExecuteNonQuery()
myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(62, 'PRODUCTION')"
myCommand.ExecuteNonQuery()
myTrans.Commit()
Console.WriteLine("Both records are written to database.")
Catch e As Exception
myTrans.Rollback()
Console.WriteLine(e.ToString())
Console.WriteLine("Neither record was written to database.")
Finally
myCommand.Dispose()
myTrans.Dispose()
End Try
End Using
End Sub |