Класс 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 определяет, удалять ли перед анализом существующие параметры.
|