Rollback Method (PgSqlConnection)
Rolls back a transaction from a pending state.
'Declaration
Public Sub Rollback()
The following example demonstrates how to use
Commit and
Rollback methods.
public void RunPgSqlTransaction(string myConnString)
{
PgSqlConnection pgConnection = new PgSqlConnection(myConnString);
pgConnection.Open();
PgSqlCommand pgCommand = new PgSqlCommand();
pgConnection.BeginTransaction();
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();
pgConnection.Commit();
Console.WriteLine("Both records are written to database.");
}
catch(Exception e)
{
pgConnection.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()
pgConnection.BeginTransaction()
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()
pgConnection.Commit()
Console.WriteLine("Both records are written to database.")
Catch e As Exception
pgConnection.Rollback()
Console.WriteLine(e.ToString())
Console.WriteLine("Neither record was written to database.")
Finally
pgConnection.Close()
End Try
End Sub