using System; using System.Data.SqlClient; class Program { static void Main() { SqlConnection conn = new SqlConnection("connection string"); conn.Open(); SqlTransaction transaction = conn.BeginTransaction(); try { // execute some SQL statements here transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } conn.Close(); } }
using System; using System.Data.SqlClient; class Program { static void Main() { SqlConnection conn = new SqlConnection("connection string"); conn.Open(); SqlTransaction transaction = conn.BeginTransaction(); try { SqlCommand command = new SqlCommand("INSERT INTO MyTable VALUES (1, 'John')", conn, transaction); command.ExecuteNonQuery(); // This will intentionally throw an exception command = new SqlCommand("INSERT INTO MyTable VALUES (1, 'Lisa')", conn, transaction); command.ExecuteNonQuery(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } conn.Close(); } }In this example, two SQL statements are executed within a transaction. The first statement inserts a new record into the "MyTable" table. The second statement intentionally tries to insert a record with a duplicate primary key, which will throw an exception. If an exception is thrown, the transaction is rolled back using the Rollback method. If no exception is thrown, the transaction is committed using the Commit method. Package library: The SqlTransaction Rollback method is part of the System.Data.SqlClient package in C#.