'Declaration Public Overloads Overrides Sub Rollback()
public override void Rollback()
'Declaration Public Overloads Overrides Sub Rollback()
public override void Rollback()
public void RunPgSqlTransaction(string myConnString) { PgSqlConnection pgConnection = new PgSqlConnection(myConnString); pgConnection.Open(); PgSqlCommand pgCommand = new PgSqlCommand(); PgSqlTransaction myTrans; // Start a local transaction myTrans = pgConnection.BeginTransaction(); // Assign transaction object for a pending local transaction pgCommand.Transaction = myTrans; try { pgCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"; pgCommand.ExecuteNonQuery(); pgCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')"; pgCommand.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 { pgConnection.Close(); } }
Public Sub RunPgSqlTransaction(myConnString As String) Dim pgConnection As New PgSqlConnection(myConnString) pgConnection.Open() Dim pgCommand As New PgSqlCommand() Dim myTrans As PgSqlTransaction ' Start a local transaction myTrans = pgConnection.BeginTransaction() ' Assign transaction object for a pending local transaction pgCommand.Transaction = myTrans Try pgCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')" pgCommand.ExecuteNonQuery() pgCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')" pgCommand.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 pgConnection.Close() End Try End Sub