Здавалка
Главная | Обратная связь

Тема : Робота з базами даних з використанням DBEXPRESS.

САМОСТІЙНА РОБОТА №24 (БД)

dbExpress был разработан, чтобы решить следующие 6 задач

  · минимизировать объем и количество используемых ресурсов

 

  · получить максимальную скорость работы

 

  · обеспечить кросс-платформенность

 

  · обеспечить легкость распространения

 

  · обеспечить легкость разработки драйверов

 

  · дать разработчику больше управления памятью и сетевым трафиком

 

     

Драйверы dbExpress небольшие по объему и быстрые, потому что они обеспечивают достаточно небольшую функциональность. Каждый драйвер выполнен в виде dll (на платформе Windows) Драйвер dbExpress предоставляет пять интерфейсов для выборки метаданных, выполнения операторов SQL и хранимых процедур, и возможность чтения записей из выборки в одном направлении (unidirectional cursor). В это же время, при использовании с DataSetProvider и ClientDataSet, dbExpress предоставляет полнофункциональную, высокопроизводительную, многопользовательскую систему для работы с SQL-серверами баз данных.
Как работает архитектура provider/resolver
Архитектура provider/resolver использует четыре компонента для предоставления данных и их редактирования. Первый компонент - SQLConnection - предназначен для установления соединения между драйвером dbExpress и используемым сервером БД. Дальше идут компоненты, которые предоставляют доступ к данным, получаемым оператором SELECT или вызовом хранимых процедур. Третий компонент - DataSetProvider, и четвертый - ClientDataSet. Когда вы открываете ClientDataSet, он запрашивает данные у DataSetProvider. DataSetProvider открывает компонент, выполняющий запрос или хранимую процедуру, выбирает данные, закрывает этот компонент, и поставляет данные (и необходимые метаданные) компоненту ClientDataSet.
ClientDataSet хранит данные в памяти, пока они просматриваются и модифицируются. При добавлении, удалении или обновлении записи, в коде или через пользовательский интерфейс, компонент ClientDataSet запоминает эти операции в памяти. Для обновления базы данных нужно вызвать метод ClientDataSet.ApplyUpdates. ApplyUpdates передает изменения компоненту DataSetProvider. Провайдер стартует транзакцию, затем создает и выполняет операторы SQL, соответствующие произведенным операциям над данными ClientDataSet. Если все операторы SQL были выполнены успешно, провайдер завершает транзакцию по commit; если нет - отменяет транзакцию по rollback. Изменения в базе данных могут не пройти, например, если изменения нарушают правила контроля данных, или если другой пользователь уже модифицировал эти данные определенным образом. При возникновении ошибки транзакция отменяется по rollback, и вызывается событие ClientDataSet.OnReconcileError, предоставляя вам возможность обработки ошибок.

Приложения, использующие dbExpress, для работы требуют две DLL. Первая dll - драйвер dbExpress, например DBEXPINT.DLL для Interbase, и вторая - MIDAS.DLL, библиотека поддержки ClientDataSet. Вместе эти две DLL занимают менее чем 500 килобайт.

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.