Руководство по работе с БД Firebird с использованием библиотеки ADO .Net 2.0


TransactionScope и распределенные транзакции в Net 2.0 - часть 2


}

//TransactionScope будет использовать локальную транзакцию

//т.к. все команды выполняются в одном контексте

using (TransactionScope scope = new TransactionScope()) { OleDbConnection con1 = ConnectionProvider.CreateConnection(); con1.Open();

//проверяем, что в предыдущем контексте были добавлены записи

OleDbCommand cmd_select = new OleDbCommand( "select count(*) from country where country=:country", con1); cmd_select.Parameters.Add("country", OleDbType.BSTR);

//удаляем записи OleDbCommand cmd_delete = new OleDbCommand( "delete from country where country=:country", con1); cmd_delete.Parameters.Add("country", OleDbType.BSTR);

cmd_select.Parameters["country"].Value = "Russia"; cmd_delete.Parameters["country"].Value = "Russia"; Assert.AreEqual(1, cmd_select.ExecuteScalar()); Assert.AreEqual(1, cmd_delete.ExecuteNonQuery());

cmd_select.Parameters["country"].Value = "Latvia"; cmd_delete.Parameters["country"].Value = "Latvia"; Assert.AreEqual(1, cmd_select.ExecuteScalar()); Assert.AreEqual(1, cmd_delete.ExecuteNonQuery());

scope.Complete(); //commit

} //rollback }




Начало  Назад  Вперед



Книжный магазин