Delphi для профессионалов



 

Компонент TStoredProc


Компонент TStoredProc обеспечивает использование в приложениях BDE хранимых процедур. Прямым предком компонента является класс TDBDataSet. Поэтому результатом выполнения хранимой процедуры может быть не только одиночный результат, но и полноценный набор данных.

Основные функции компонента TStoredProc соответствуют возможностям стандартного компонента хранимой процедуры, описанного в гл. 12. Свойства и методы компонента TStoredProc представлены в табл. 16.10.

Средствами классов-предков выполняется и подключение компонента к базе данных. Свойство DatabaseName определяет базу данных.

Свойство storedProcName задает имя хранимой процедуры.

Перед выполнением хранимую процедуру необходимо подготовить. В частности, на этом этапе осуществляется передача параметров и выделение ресурсов. Эта операция выполняется автоматически при использовании методов ЕхесРгос и Open, или задается явно методом Prepare.

Явная подготовка процедуры полезна при неоднократном вызове хранимой процедуры. Если перед первым вызовом процедуры выполнить метод Prepare, то все последующие вызовы будут осуществляться без подготовки, которая уже была сделана. В противном случае подготовка будет производиться автоматически перед каждым выполнением хранимой процедуры.

Таблица 16.10. Свойства и методы компонента TstoredProc

Объявление

Тип

Описание

Свойства

property Overload: Word;

Pb

Идентификатор процедуры. Используется только для сервера Oracle

type TParamBindMode = (pbByName, pbByNumber) ;

property ParamBindMode: TParamBindMode ;

Pb

Определяет порядок присваивания значений параметров:

  • pbByName — по именам параметров;
  •  pbByNumber — по номерам параметров в списке свойства Params

property ParamCount: Word;

Ro

Возвращает общее число параметров

property Params: TParams;

Pb

Индексированный список параметров

property Prepared: Boolean;

Pu

Возвращает значение True, если подготовка процедуры уже проводилась

property StmtHandle: HDBIStmt;

Ro

Дескриптор выражения ВОЕ. Используется при прямом вызове функций BDE

property StoredProcName: string;

Pb

Содержит имя хранимой процедуры

Методы

procedure CopyParams (Value : TParams) ;

Pu

Копирует параметры из списка Value

function DescriptionsAvailable : Boolean;

Pu

При значении True параметры хранимой процедуры доступны из приложения

procedure ExecProc;

Pu

Передает на сервер сигнал для запуска хранимой процедуры

procedure GetResults;

PU 

 

Возвращает выходные параметры в приложение (используется только для сервера Sybase)

function Pa ramByName (const Value: string) : TParam;

Рu

Возвращает параметр с именем Value

procedure Prepare;

Pu 

Готовит процедуру к выполнению

procedure UnPrepare;

Рu

Освобождает ресурсы, использованные во время подготовки процедуры