/// <summary> /// Test OleDbTransaction class /// </summary> public static void Test_Transaction() { using (OleDbConnection conn = new OleDbConnection()) { OleDbTransaction transaction = null; conn.ConnectionString = TestCases.connString; conn.Open(); TestCases.ExecuteSQL("drop table if exists t", conn); transaction = conn.BeginTransaction(); string sql = "create table t(idx integer)"; using (OleDbCommand command = new OleDbCommand(sql, conn)) { command.Transaction = transaction; command.ExecuteNonQuery(); } int tablesCount = TestCases.GetTablesCount("t", conn, transaction); Assert.IsTrue(tablesCount == 1); transaction.Rollback(); //Verify the table does not exist tablesCount = GetTablesCount("t", conn, transaction); Assert.IsTrue(tablesCount == 0); transaction = conn.BeginTransaction(); sql = "create table t(idx integer)"; using (OleDbCommand command = new OleDbCommand(sql, conn)) { command.Transaction = transaction; command.ExecuteNonQuery(); } tablesCount = GetTablesCount("t", conn, transaction); Assert.IsTrue(tablesCount == 1); transaction.Commit(); tablesCount = GetTablesCount("t", conn, transaction); Assert.IsTrue(tablesCount == 1); transaction = conn.BeginTransaction(); TestCases.ExecuteSQL("drop table t", conn, transaction); transaction.Commit(); tablesCount = GetTablesCount("t", conn); Assert.IsTrue(tablesCount == 0); } }