|
Класс 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 найден
дубликат.
|