Иллюстрированный самоучитель по Delphi 7 для профессионалов

Технология dbExpress

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

    Одной из проблем различных технологий доступа к данным, используемым в приложениях Delphi, является трудность распространения готовых приложений. Для BDE требуется отдельная установка, которая занимает порядка 15 Мбайт дискового пространства, а также специальная настройка псевдонимов (см. гл. 16).
  • Драйверы доступа к данным

    Технология dbExpress обеспечивает доступ к серверу баз данных при помощи драйвера, реализованного как динамическая библиотека. Для каждого сервера имеется своя динамическая библиотека. | Таблица 17.1. Драйверы dbExpress. | Сервер БД | Драйвер | Клиентское ПО | DB2 | Dbexpdb2.dll | Db2cli.dll
  • Соединение с сервером баз данных

    Для создания соединения с сервером в рамках технологии dbExpress приложение должно использовать компонент TSQLConnection. Это обязательный компонент, все остальные компоненты связаны с ним и используют его для получения данных.
  • Управление наборами данных

    Компонент TSQLConnection позволяет выполнять некоторые операции с подключенными наборами данных и следить за их состоянием. | Свойство: | property DataSetCount: Integer; | …возвращает число подключенных через данное соединение наборов данных.
  • Транзакции

    Подобно своим аналогам в BDE и ADO компонент TSQLConnection поддерживает механизм транзакций и делает это сходным образом. | Начало, фиксацию и откат транзакции выполняют методы: | procedure StartTransaction(TransDesc: TTransactionDesc); | procedure Commit(TransDesc: TTransactionDesc);
  • Использование компонентов наборов данных

    Набор компонентов dbExpress, инкапсулирующих набор данных, вполне обычен и сравним с аналогичными компонентами BDE, ADO, InterBase Express. Это компоненты TSQLDataSet, TSQLTable, TSQLQuery, TSQLStoredProc. | Примечание | Компонент TSimpleDataSet также относится к рассматриваемой группе, но т. к.
  • Класс TCustomSQLDataSet

    Так как общим предком компонентов dbExpress объявлен класс TDataSet, то задачей класса TCustomSQLDataSet является не столько внесение новой функциональности, сколько корректное ограничение возможностей, заложенных в TDataSet.
  • Компонент TSQLDataSet

    Компонент TSQLDataSet является универсальным и позволяет выполнять запросы SQL (подобно TSQLQuery), просматривать таблицы целиком (подобно TSQLTable)или выполнять хранимые процедуры (подобно TSQLStoredProc). | Для определения режима работы компонента используется свойство ConimandType (см. выше).
  • Компоненты TSQLTable и TSQLQuery

    Компонент TSQLTable предназначен для просмотра таблиц целиком и по основным функциям подобен своим аналогам TTаblе, TADOтаblе,TIBTаblе (подробнее о функциях компонентов таблиц см. часть III). | Для получения табличного набора данных компонент TSQLTable самостоятельно формирует запрос на сервер, используя для этого возможности, унаследованные от предка TCustomSQLDataSet.
  • Компонент TSQLStoredProc

    Компонент TSQLStoredProc инкапсулирует функциональность хранимых процедур для их выполнения в рамках технологии dbExpress. Он подобен другим своим аналогам. Подробнее о функциях компонентов хранимых процедур см. часть III.
  • Компонент TSimpleDataSet

    Компонент TSimpleDataSet обеспечивает кэширование полученных данных и сделанных изменений на стороне клиента и последующую передачу их на сервер для фиксации.
  • Способы редактирования данных

    Несмотря на декларированные недостатки технологии dbExpress – однонаправленные курсоры и невозможность редактирования – существуют программные способы уменьшить масштаб проблемы или даже решить ее. | Во-первых, в нашем распоряжении имеется компонент TSimpleDataSet, который реализует двунаправленный курсор и обеспечивает редактирование данных путем их кэширования на клиентской стороне.
  • Интерфейсы dbExpress. Интерфейсы ISQLDriver и ISQLConnection.

    Технология dbExpress основана на использовании четырех базовых интерфейсов, методы которых применяются во всех компонентах dbExpress. При серьезной работе с технологией или при проектировании собственных компонентов информация об этих интерфейсах будет полезна.
  • Интерфейсы ISQLCommand и ISQLCursor

    Интерфейс ISQLCommand обеспечивает функционирование запроса dbExpress. Компоненты dbExpress, работающие с наборами данных, используют его для реализации своих методов. | Параметры запроса устанавливаются методом: | function setParameter(ulParameter: Word; ulChildPos: Word; eParamType: TSTMTParamType;
  • Отладка приложений с технологией dbExpress

    Наряду с обычными методами отладки исходного кода, в dbExpress существует возможность контроля запросов, проходящих на сервер через соединение. Для этого используется компонент TSQLMonitor. | Через свойство: | property SQLConnection: TSQLConnection; | …компонент связывается с отлаживаемым соединением.
  • Распространение приложений с технологией dbExpress

    Готовое приложение, использующее технологию dbExpress, можно поставлять заказчикам двумя способами. | Вместе с приложением поставляется динамическая библиотека для выбранного сервера (см. колонку "Драйвер" табл. 17.1). Она находится в папке \Delphi7\Bin.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.