ВУЗ:
Составители:
Рубрика:
119
Таким образом, механизм транзакций поддерживает целостность данных
двух таблиц, не позволяя ее нарушить добавлением неверных данных.
Транзакции в ADO .NET
Перейдем теперь к рассмотрению транзакций в ADO .NET. Создадим но-
вое консольное приложение EasyTransaction. Поставим задачу: передать те же
самые данные в две таблицы – «Туристы» и «Информация о туристах».
Полный листинг данного приложения выглядит следующим образом:
using System;
using System.Data.SqlClient;
namespace EasyTransaction
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
//Создаем соединение
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" +
@"D:\ВМИ\For ADO\BDTur_firmSQL2.mdf" +
";Integrated Security=True;Connect Timeout=30;User Instance=True";
conn.Open();
SqlCommand myCommand = conn.CreateCommand();
//Создаем транзакцию
myCommand.Transaction = conn.BeginTransaction(System.Data.IsolationLevel.Serializable);
try
{
myCommand.CommandText =
"INSERT INTO Туристы ([Код туриста], Фамилия, Имя, Отчество) " +
"VALUES (9, 'Тихомиров', 'Андрей', 'Борисович')";
myCommand.ExecuteNonQuery();
myCommand.CommandText =
"INSERT INTO [Информация о туристах]" +
" ([Код туриста], [Серия паспорта], Город, Страна, Телефон, Индекс) " +
"VALUES (9, 'CA 1234567', 'Новосибирск', 'Россия', 1234567, 996548)";
myCommand.ExecuteNonQuery();
//Подтверждаем транзакцию
myCommand.Transaction.Commit();
Console.WriteLine("Передача данных успешно завершена");
}
catch(Exception ex)
{
Страницы
- « первая
- ‹ предыдущая
- …
- 117
- 118
- 119
- 120
- 121
- …
- следующая ›
- последняя »