Компонент TStoredProc
Компонент
TStoredProc используется для
выполнения из приложений
C++ Builder хранимых процедур,
содержащихся на серверах
баз данных. Хранимая
процедура представляет
собой скомпилированную
программу на процедурном
расширении языка SQL,
характерном для
выбранного сервера.
Хранимые процедуры могут
возвращать наборы данных,
основанные на выполнении
запроса, если такие
процедуры поддерживаются
выбранным сервером (в этом
случае TStoredProc может
использоваться так же, как
TQuery, и, так как при этом не
требуется компиляция
запроса сервером,
использование TStoredProc может
повысить
производительность
выполнения выбора данных),
могут возвращать числовые
параметры (в этом случае
эти параметры можно
использовать в приложении)
и могут ничего не
возвращать, а выполнять
какие-либо действия на
сервере баз данных.
Хранимые процедуры также
могут иметь входные
параметры, передаваемые им
из клиентского приложения.
Основные
свойства компонента
TStoredProc: DatabaseName - имя (alias)
базы данных, в которой
содержится данная
процедура, StoredProcName - имя
хранимой процедуры, Params
(массив компонентов TParams) -
параметры хранимой
процедуры, а также ряд
свойств, унаследованных от
TDataS e t: Active,
Fields, Eof, Bof, State и др. Основные
методы: ExecProc - выполняет
хранимую процедуру, ParamByName
- возвращает параметр,
используя его имя. TStoredProc
обладает также рядом
методов, унаследованных от
TDataSet: Append, AppendRecord, Close, Ope n , Delete, Edit, Post и
т.д.
Рассмотрим
простейший пример
использования хранимой
процедуры. Для этой цели
воспользуемся локальным
сервером InterBase, входящим в
комплект поставки C++ Builder.
Создадим новый проект, на
главную форму которого
поместим компонент TStoredProc,
четыре компонента TEdit и
компонент TButton. Установим
значение свойства DatabaseName
компонента StoredProc1 равным
IBLOCAL (этот псевдоним
демонстрационной базы
данных Employee.gdb создается
автоматически при
установке сервера InterBase). Далее щелкнем
на колонке значений
напротив свойства StoredProcName,
после чего на экране
должен появиться
стандартный диалог для
ввода имени пользователя и
пароля (рис.1):
Рис.1.
Диалог регистрации
пользователя
По
умолчанию при установке
InterBase системный
администратор базы данных
имеет имя SYSDBA и пароль
MASTERKEY (в дальнейшем его
можно изменить).
После
соединения с сервером (он
должен перед этим быть
запущен) напротив имени
свойства StoredProcName появится
выпадающий список
имеющихся в базе данных
хранимых процедур. Выберем
для примера процедуру
ORG_CHART, присваивающую своим
выходным параметрам
значения одной из записей
хранящейся на сервере
таблицы. Выбрав свойство
Params, можно просмотреть
параметры хранимой
процедуры с помощью
соответствующего
редактора свойств (рис. 2).
Рис.2.
Редактор свойства Params
компонента TStoredProc.
Создадим
обработчик события OnClick
для кнопки Button1:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StoredProc1->ExecProc();
Edit1->Text=StoredProc1->Params->Items[0]->AsString;
Edit2->Text=StoredProc1->Params->Items[1]->AsString;
Edit3->Text=StoredProc1->Params->Items[2]->AsString;
Edit4->Text=StoredProc1->Params->Items[3]->AsString;
Edit5->Text=StoredProc1->Params->Items[4]->AsString;
}
После
компиляции и запуска
приложения нажатие на
кнопку инициирует запуск
хранимой процедуры и вывод
ее параметров в
соответствующие
компоненты Edit1...Edit5 (рис.3).
Рис.3.
Результаты выполнения
хранимой процедуры ORG_CHART.
Содержание | Вперед