M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

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