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

Класс TParams

Класс TParams представляет собой список параметров.

Доступ к элементам списка возможен через индексированное свойство:

property Items[Index: Word]: TParam;

А к значениям параметров – через свойство:

property ParamValues[const ParamName: String]: Variant;

Добавить новый параметр можно методом:

procedure AddParam(Value: TParam);

Но для него необходимо создать объект параметра. Это можно сделать методом:

function CreateParamfFldType: TFieldType; const ParamName: string; ParamType: TParamType): TParam;

Где FidType – тип данных параметра, ParamName – имя параметра и ParamType – тип параметра (см. ниже).

И оба метода можно использовать в связке:

MyParams.AddParam(MyParams.CreateParam(ftInteger, 'Paraml', ptInput));

Вместо того, чтобы заполнять параметры по одному, можно использовать метод:

function ParseSQL(SQL: String; DoCreate: Boolean): String;

Который при DoCreate = True анализирует текст запроса из свойства SQL и создает новый список параметров.

Или же, для присвоения значений сразу всем параметрам используется метод:

procedure AssignValues(Value: TParams);

Для удаления параметра из списка применяется метод:

procedure RemoveParam(Value: TParam);

При работе с параметрами для их идентификации полезно использовать обращение по имени, т. к. при работе с хранимыми процедурами после их выполнения порядок следования может измениться. Также и при использовании динамических запросов (их текст SQL может изменяться во время выполнения).

Для обращения к параметру по имени используется метод:

function ParamByName(const Value: String): TParam;

В сложных запросах SQL или после многочисленных исправлений разработчик может допустить ошибку и создать два разных параметра с одним именем. В этом случае при выполнении запроса одноименные параметры считаются одним и им присваиваются значение первого по порядку запроса. Для контроля повторных имен в списке параметра используется метод:

function IsEqual(Value: TParams): Boolean;

Который возвращает значение True, если для параметра value найден дубликат.

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