public void RunPgSqlTransaction(string myConnString)
{
PgSqlConnection pgConnection = new PgSqlConnection(myConnString);
pgConnection.Open();
PgSqlCommand pgCommand = new PgSqlCommand();
pgCommand.Connection = pgConnection;
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();
}
}