TransactionID : LongWord;
GloballD : LongWord;
IsolâtionLevel : TTransIsolationLevel;
Customlsolation : LongWord;
end;

Запись содержит уникальный в рамках соединения идентификатор транзакции TransactionID И уровень ИЗОЛЯЦИИ транзакции IsolationLevel. При уровне изоляции xilCUSTOM определяется параметр customlsolation. Идентификатор GloballD используется при работе с сервером Oracle.

Некоторые серверы БД не поддерживают транзакции, и для определения этого факта используется свойство

property Transact ionsSupported: LongBool;
Если соединение уже находится в транзакции, свойству property ^Transaction: Boolean;

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

var TransInfo: TTransactionDesc;

if Not MyConnection.InTransaction then try

MyConnection.StartTransaction(TransInfo); {...}

MyConnection.Commit(TransInfo);

except

MyConnection.Rollback(TransInfo);
end;

Использование компонентов наборов данных

Набор компонентов dbExpress, инкапсулирующих набор данных, вполне обычен и сравним с аналогичными компонентами BDE, ADO, InterBase

Express. Это компонентыTSQLtotaSet, TSQLTable, TSQLQuery, TSQLStoredProc.

(_Примечание_)

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

Однако необходимость создания легкой технологии доступа к данным, какой является dbExpress, наложила на эти компоненты ряд ограничений.

Хотя общим предком всех рассматриваемых здесь компонентов является класс TDataSet (см. рис. 12.1), который обладает полным инструментарием для работы с набором данных, компоненты dbExpress используют только однонаправленные курсоры и не позволяют редактировать данные. Однонаправленные курсоры ограничивают навигацию по набору данных и обеспечивают перемещение только на следующую запись и возврат на первую. Также здесь недоступны любые операции, требующие буферизации данных - это поиск, фильтрация, синхронный просмотр.

Таким образом, для выключения ряда механизмов класса TDataSet понадобился еще ОДИН промежуточный класс TCustomSQLDataSet.

Отображение данных при помощи компонентов со страницы Data Controls также ограничено. Нельзя использовать компоненты TDBGrid и TDBctrlGrid, а в компоненте TDBNavigator не забудьте отключить кнопки возврата на одну позицию назад и перехода на последнюю запись. Также ничего хорошего не получится из попытки применить компоненты синхронного просмотра. Остальные компоненты можно использовать обычным способом (см. гл. 15).

Основные способы применения компонентов dbExpress остаются стандартными и подробно описаны в части III.

Доступ к данным во всех рассматриваемых компонентах осуществляется одинаково - через соединение, инкапсулированное компонентом TSQLConnection. Привязывание к соединению выполняет свойство

property SQLConnection: TSQIXonnection;

Рассмотрим теперь компоненты dbExpress подробнее.

Класс TCustomSQLDataSet


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

Программирование в Delphi 7



Новости за месяц

  • Декабрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс