Реклама:

public void Commit();

Метод Rollback используется для отката транзакции:

public void Rollback();

6.3.4.2. Объект транзакции SqlTransaction

Объект транзакции класса System.Data.SqlClient.SqlTransaction возвращается методом BeginTransaction объекта соединения SqlConnection.

Ниже рассматриваются специфические свойства и методы класса SqlTran-saction.

Ссылка на объект соединения возвращается свойством

public SqlConnection Connection {get;}

Уровень изоляции транзакции возвращается свойством

public IsolationLevel IsolationLevel {get;}

Транзакция подтверждается методом

public void Commit();

Откат транзакции производится методом

public void Rollback();

public void Rollback( string transactionName );

Для создания контрольной точки транзакции (к которой впоследствии можно откатиться) используют метод

public void Save( string savePointName );

Более подробно см. аналогичный этому методу оператор Transact-SQL SAVE TRANSACTION в руководствах по SQL Server.

6.3.4.3. Объект транзакции OleDbTransaction

Объект транзакции класса System.Data.OleDb.OleDbTransaction возвращается методом BeginTransaction объекта соединения oleDbConnection.

Состав его специфических методов и свойств аналогичен заданному в классе SqlTransaction, но метод Save отсутствует.

ЧАСТЬ 7

ФИЛЬТРАЦИЯ И СОРТИРОВКА ЗАПИСЕЙ

ДАННЫХ

7.1. Просмотры данных

7.1.1. Для чего нужны просмотры

Часто в приложениях нужно работать не со всеми записями таблицы данных, а с их подмножеством. При этом говорят, что записи отфильтровываются по определенному критерию.

Рассмотрим простой пример. На рис. 7.1 и 7.2 показана форма, где пользователь из выпадающего списка выбирает название факультета. Затем в таблице кафедр производится фильтрация и в элементе управления DataGrid пользователю представляются только записи с выбранным им факультетом.

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 7.1

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 7.2

В прошлые времена, когда мы работали в идеологии "клиент-сервер", после выбора пользователем условия фильтрации (в нашем случае - названия факультета) приложение действовало следующим образом. Провайдеру данных (например, SQL Server) отсылался соответствующий запрос, содержащий оператор SELECT ... WHERE где в предложении WHERE задавалось условие (критерий) фильтрации, например

SELECT KK, Nazv, Sostav, Fakultet FROM Kaf

WHERE Fakultet = @Falultet и параметр @Falultet содержал название выбранного пользователем факультета. Такой запрос выполнялся провайдером и возвращал записи, соответствующие запросу, в приложение, которое и представляло эти записи пользователю.

В ADO.NET, как известно, наборы данных в приложении отсоединены от источника. В таблицы данных из источника накачивается необходимое число записей, после чего соединение разрывается и приложение должно тревожить источник данных как можно реже, в основном для запоминания в базе данных изменений, внесенных в записи данных в приложении.

Отсюда следует, что задача извлечения подмножества записей, удовлетворяющих какому-либо условию, должна решаться приложением самостоятельно, без помощи провайдера данных.

Именно такую функцию выполняют в ADO.NET просмотры данных, которые реализуются объектами типа (System.Data.DataView).


⇐ Предыдущая страница| |Следующая страница ⇒