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

Интерфейс IAppServer. Интерфейс IProviderSupport.

Таблица 21.1. Методы интерфейса IAppServar.

Объявление Описание
function AS ApplyUpdates (const ProviderName: WideString; Delta: OleVariant; MaxErrors: Integer; out ErrorCount: Integer; var OwnerData: OleVariant): OleVariant; safecall; Передает изменения, полученные от клиентского набора данных, компоненту-провайдеру, определяемому параметром ProviderName.
Изменения содержатся в параметре Delta.
Параметр MaxErrors задает максимальное число ошибок, пропускаемых при сохранении данных перед прерыванием операции. Реальное число возникших ошибок возвращается параметром ErrorCount.
Параметр OwnerData содержит дополнительную информацию, передаваемую между клиентом и сервером (например, значения параметров методов-обработчиков).
Функция возвращает пакет данных, содержащий все записи, которые не были сохранены в базе данных по какой-либо причине
function AS DataRequest (const ProviderName: WideString; Data: OleVariant): OleVariant; safecall; Генерирует событие OnDataRequest для указанного провайдера ProviderName
procedure AS Execute (const ProviderName: WideString; const CommandText: WideString; var Params: OleVariant; var OwnerData: OleVariant); safecall; Выполняет запрос или хранимую процедуру, определяемые параметром CommandText для провайдера, указанного параметром ProviderName. Параметры запроса или хранимой процедуры содержатся в параметре Params
function AS GetParams (const ProviderName: WideString; var OwnerData: OleVariant): OleVariant; safecall; Передает провайдеру ProviderName текущие значения параметров клиентского набора данных
function AS GetProviderNames: OleVariant; safecall; Возвращает список всех доступных провайдеров удаленного модуля данных
function AS GetRecords (const ProviderName: WideString, Count: Integer; out RecsOut: Integer; Options: Integer; const CommandText: WideString; var Params: OleVariant; var OwnerData:OieVariant): OleVariant; safecall; Возвращает пакет данных с записями набора данных сервера, связанного с компонентом-провайдером.
Параметр CommandText содержит имя таблицы, текст запроса или имя хранимой процедуры, откуда необходимо получить записи. Но он работает только в случае, если для провайдера в параметре Options включена опция poAllowCommandText. Параметры запроса или процедуры помещаются в параметре Params.
Параметр задает требуемое число записей, начиная с текущей, если его значение больше нуля. Если параметр равен нулю – возвращаются только метаданные, если он равен -1 – возвращаются все записи.
Параметр RecsOut возвращает реальное число переданных записей
function AS RowRequest (const ProviderName: WideString; Row: OleVariant; RequestType: Integer; var OwnerData: OleVariant): OleVariant; safecall; Возвращает запись набора данных (предоставляемого провайдером ProviderName), определяемую параметром Row.
Параметр RequestType содержит значение типа TfetchOptions

Интерфейс IProviderSupport

Для организации взаимодействия клиентов с сервером БД удаленный модуль данных сервера приложения должен содержать компоненты-провайдеры TDataSetProvider (см. гл. 20). При этом используются методы интерфейса IAppServer.

Для обмена данными с набором данных на сервере компонент-провайдер применяет интерфейс IProviderSupport (см. рис. 20.2), который включен в любой компонент набора данных, произошедший от класса TDataSet. В зависимости от используемой технологии доступа к данным каждый компонент, инкапсулирующий набор данных, имеет собственную реализацию методов интерфейса IProviderSupport.

Методы интерфейса могут понадобится разработчику только при создании собственных компонентов, инкапсулирующих набор данных и наследующих от класса TDataSet.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.