|
Класс TParameters
Главное, для чего предназначен класс
TParameters, — содержать список
параметров. Индексированный список параметров представлен
свойством property Items[Index: Integer]:
TParameter; Текущие значения параметров можно
получить из индексированного свойства
property ParamValues[const
ParamName: String]: Variant;
При этом доступ к конкретному значению
осуществляется по имени параметра:
Editl.Text := ADODataSet.Parameters.ParamValues['ParamOne'];
Список параметров можно обновлять при
помощи методов
function AddParameter:
TParameter;
и
function CreateParameter(const
Name: WideString; DataType: TDataType;
Direction:
TParameterDirection; Size: Integer;
Value: OleVariant):
TParameter;
Первый метод просто создает новый объект
параметра и добавляет его к списку. Затем необходимо
задать все свойства нового параметра:
var NewParam: TParameter;
NewParam := ADODataSet.Parameters.AddParameter;
NewParam.Name := 'ParamTwo';
NewParam.DataType
:= ftlnteger;
NewParam.Direction
:= pdlnput; NewParam.Value := 0;
Метод CreateParameter
создает новый параметр и определяет его свойства:
- Name — имя параметра;
- DataType — тип данных параметра,
соответствующий типу поля таблицы БД (тип TFieldType);
- Direction — тип параметра,
в дополнение к стандартным типам dUnknown, pdlnput,
pdOutput, pdlnputOutput,тип TParameterDirection имеет
дополнительный тип pdReturnValue, определяющий любое
возвращаемое значение;
- size — максимальный размер
значения параметра;
- value — значение параметра.
При работе с параметрами полезно вызывать
их, используя имена, а не абсолютные индексы в списке.
Для этого можно использовать метод
function ParamByName(const
Value: WideString): TParameter;
Список параметров всегда должен соответствовать
запросу или хранимой процедуре. Для обновления списка
используется метод
procedure Refresh;
Также вы можете создать список параметров
для не связанного с данным объектом параметров запроса.
Для этого используется метод
function ParseSQL(SQL:
String; DoCreate: Boolean): String;
где DoCreate
определяет, удалять ли перед анализом существующие параметры.
|