Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Компоненты Delphi DBExpess (Технология dbExpress)

Введение:

Одной из проблем различных технологий доступа к данным, используемым в приложениях Delphi, является трудность распространения готовых приложений. Для BDE требуется отдельная установка, которая занимает порядка 15 Мбайт дискового пространства, а также специальная настройка псевдонимов. ADO предустановлена в операционной системе, но нуждается в настраиваемых провайдерах данных. При необходимости обновить версию ADO, дистрибутив вашего приложения "потяжелеет" более чем на 2 Мбайт.

Технология dbExpress:

Технология dbExpress была введена компанией Borland в Delphi 6.

Технология доступа к данным dbExpress обеспечивает взаимодействие приложения с серверами баз данных. Драйверы dbExpress используют для получения данных исключительно запросы SQL. При этом на клиентской стороне отсутствует кэширование данных, вследствие этого здесь применяются исключительно однонаправленные курсоры и отсутствует возможность прямого редактирования наборов данных. Технология dbExpress является межплатформенной. Это означает, что разработанные приложения могут использоваться в среде Kylix на платформе Linux.

Для функционирования компонентов dbExpress необходим только один драйвер, который взаимодействует напрямую с клиентским программным обеспечением для выбранного сервера БД. В поставку входят драйверы серверов баз данных: DB2, InterBase, MySQL, Oracle.

Однонаправленные наборы данных:

В однонаправленных наборах данных не выделяется область оперативной памяти (буферизация или кэширование) с целью организации навигации или модификации. В отличие от dbExpress, в BDE использовались двунаправленные наборы данных с буферизацией в оперативной памяти. Однонаправленные наборы данных более быстродействующие, однако они обладают некоторыми ограничениями.

Ограничения:

  • при навигации поддерживаются только методы First ( ) и Next( ). Попытка вызова метода Last ( ) или Prior ( ) приведет к возникновению исключения;
  • невозможно изменить данные, так как для них не выделяются буферы редактирования. Тем не менее, для редактирования однонаправленных наборов данных можно использовать другие компоненты (например компонент SimpleDataSet);
  • не поддерживается фильтрация, потому что при работе с однонаправленными наборами данных не создается буферов для множества записей.

Обзор компонентов dbExpress

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

  • SQLConnection;
  • SQLDataSet;
  • SQLQuery;
  • SQLStoredProc;
  • SQLTable;
  • SQLMonitor;
  • SimpleDataSet.
  • Компонент SQLConnection – используется для подключения к базе данных.

Порядок применения компонента SQLConnection для подключения к базе данных подробно рассматривается на следующем лабораторном занятии.

Компонент SQLDataSet – используется для извлечения данных из сервера, обеспечивая перемещение по записям только в одном направлении. Такие наборы данных используются для отображения содержимого таблиц, а также результатов выполнения запросов или хранимых процедур.

Извлечение метаданных:

Метаданные (metadata) – это информация о самой базе данных. Их также можно извлекать при помощи компонента SQLDataset. Для этого используется процедура TSQLDataset. SetSchemaInfo(), в которой указывается требуемый тип информации.

Компонент SOLMonitor – используется при отладке SQL-приложений. Он регистрирует все SQL-команды, которые обрабатываются компонентом типа TSQLConnection, указанным в свойстве SQLMonitor.SQLConnection.

Свойство SQLMonitor.Tracelist содержит журнал команд, которыми обмениваются клиент и сервер баз данных. Это свойство является объектом класса, производного от класса TStrings, поэтому содержащуюся в нем информацию можно сохранить в файле или просмотреть в memo-поле.

Компонент SimpleDataSet – предназначен для организации двунаправленного перемещения по таблицам базы данной и редактирования их содержимого. Этот компонент использует dbExpress для извлечения данных, а затем размещает эти данные в оперативной памяти компьютера.

Набор данных SimpleDataSet является клиентским. Это означает, что он объединяет в себе скорость и простоту реализации однонаправленных наборов данных и, в то же время, предоставляет пользователю возможность редактировать данные и произвольно перемешаться в таблице от строки к строке.

Для связи компонента SimpleDataSet с SQL-сервером используется свойство Connection. Здесь можно либо указать ссылку на компонент SQLConnection, либо определить независимое подключение при помощи свойств Connection.ConnectionName и Connection.Params.

Набор данных SimpleDataSet можно сохранять в отдельном файле на диске при помощи метода SaveToFile.

Заключение:

И всего вышесказанного мы можем сделать вывод, что основными достоинствами данной технологии является то, что средства dbExpress гораздо проще с точки зрения установки и компактнее по сравнению с их предшественником BDE, является межплатформенной, которая может работать как в Windows (Delphi), так и в Linux (Kylix) и для dbExpress можно создавать новые драйвера. При этом достаточно реализовать опубликованные интерфейсы и разработать библиотеку, обладающую методами доступа к базе данных. Т.е. получили гибкий и необходимый инструмент для Delphi7.