Компонент доступа к БД/ Использование транзакций

Использование транзакций.

     Для использования транзакции необходимо заполнить поле «transaction» объекта шлюза «DataBaseGate», присвоив ему значение созданной транзакции.

     Рассмотрим процесс использования транзакции на примере.

     Создаем экземпляр класса нужной сущности.

Employee employee = new Employee();

     Заполняем поля нового объекта.

employee.FirstName = "Micle";
employee.LastName = "Gordon";
employee.City = "NewYork";

     Создаем экземпляр объекта шлюза к базе данных dbg.

DataBaseGate dbgEnployee = new DataBaseGate(employee, cn);

     Создаем транзакцию.

SqlTransaction tr= cn.BeginTransaction();

     Заполняем поле «transaction».

dbgEnployee.transaction = tr;

     Открываем соединение

cn.Open();

     Записываем новый объект

dbgEnployee.CreateNewObject();

     Создаем еще объект.

Employee employee1 = new Employee();
employee1.FirstName = "Peter";
employee1.LastName = "Bolen";
employee1.City = "London";

     Записываем его в базу.

dbg.CreateNewObject(employee1);

     Записываем транзакцию

tr.Commit();

     или откатываем

tr.Rollback();

     Обработка ошибок.

     Закрываем соединение.

cn.Close();

     В случае ошибки, поле «Status» объекта «dbg» получит значение false, в поле «message» запишется информация об ошибке.

if (!dbg.Status)
        MessageBox.Show(dbg.message);