Энциклопедия C++ Builder


         

полная информация, необходимая для запуска


/p> полная информация, необходимая для запуска хранимой процедуры, может оказаться недоступной. В таком случае вам придется самому определить тип каждого параметра (Input, Output, Result), тип его данных и, возможно, значения входных параметров. Редактор параметров отображает параметры в том поряд-

ке, в котором они перечислены в описании данной хранимой процедуры (Рис. 5.18). Нажатие кнопки ОК подготавливает сервер и вызывает запуск хранимой процедуры на стадии проектирования приложения. Только база данных Oracle позволяет добавлять, вычеркивать или удалять все параметры в определении хранимой на сервере процедуры, производя таким образом ее перегрузку. Отвечающие за такие действия кнопки редактора параметров Add, Delete и Clear обычно запрещены, поскольку ваше приложение клиента не может модифицировать хранимые процедуры других серверов.



Рис. 5.18. Редактор параметров хранимой процедуры.

Аналогично запросу, свойство Params содержит указатель на массив объектного типа TParams. Поэтому изменить значение параметра во время выполнения программы можно по индексу в массиве Items объектов типа TParams:

StoredProcl->Params[0]->Items[1]->AsString = Editl->Text;

или по имени параметра, посредством метода ParamByName:

StoredProcl->ParamByName("ЧИСЛО_СЛУЖАЩИХ")->AsInteger++;

а затем подготовить сервер методом

Prepare и выполнить процедуру методом ЕхесРгос:

StoredProcl->Prepare () ;

StoredProcl->ExecProc ();

Хранимая процедура возвращает результаты через выходные параметры или через результирующий набор. Доступ к выходным параметрам во время выполнения программы (как и модификация значений входных параметров перед запуском хранимой процедуры) осуществляется по индексам в массиве Items объектов типа TParams:

Editl->Text = StoredProcl->Params[0]->Items[0]->AsString;

или по имени параметра, посредством метода ParamByName:

Edit2->Text =

StoredProcl->ParamByName("ЧИСЛО_СЛУЖАЩИХ")->AsInteger;

Хранимые процедуры некоторых серверов (например, Sybase) возвращают, подобно запросу, результирующий набор, для отображения которого надо использовать подходящую компоненту управления - чаще всего сетку. Процедура проектирования формы приложения с компонентой TStoredProc аналогична той, которую мы использовали для отображения результатов запроса:


Содержание  Назад  Вперед