Компонент 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 |
Определяет порядок присваивания значений параметров:
|
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 |
Освобождает ресурсы, использованные во время подготовки процедуры |