arCurrent - операция выполняется только для текущей записи;
arFiltered - операция выполняется для записей из работающего фильтра;
ГАИ - операция выполняется для всех записей;

arAllchapters - операция выполняется для всех записей текущего набора данных (включая невидимые из-за включенного фильтра), а также для всех вложенных наборов данных.

Параметры

Многие компоненты ADO, инкапсулирующие набор записей, должны обеспечивать применение параметров запросов. Для этого в них используется специальный класс TParameters.

Для каждого параметра из коллекции класса TParameters создается отдельный класс TParameter.

Этот класс является наследником класса коллекции TColiection и инкапсулирует индексированный список отдельных параметров (см. ниже). Напомним, что для работы с параметрами обычных запросов в компонентах запросов и хранимых процедур используется класс TParams (например в компонентах dbExpress), также происходящий от класса коллекции.

Методы этих двух классов совпадают, а свойства имеют некоторые отличия. Для представления параметров команд в ADO имеется специальный объект параметров, который активно используется в процессе работы компонентов ADO, инкапсулирующих набор данных.

Поэтому для компонентов ADO в VCL был создан собственный класс параметров.

Класс 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: TPararreter;
NewParam := ADODataSet.Parameters.AddParameter;
NewParam.Name := 'ParamTwo';
NewParam.DataType := ftlnteger;
NewParam, Direction := pcILnput;
NewParam.Value := 0;
Метод CreateParameter создает новый параметр и определяет его свойства: О Name - имя параметра;
□ DataType - тип данных параметра, соответствующий типу поля таблицы БД (ШП TFieldType);
□ Direction - тип параметра, в дополнение к стандартным типам dunknown, pdlnput, pdOutput, pdlnputOutput, ТИП TParameterDirection имеет ДОПОЛНИ-тельный тип pdReturnValue, определяющий любое возвращаемое значение;

О size - максимальный размер значения параметра; □value - значение параметра.

При работе с параметрами полезно вызывать их, используя имена, а не абсолютные индексы в списке. Для этого можно использовать метод

function ParamByName (const Value: WideString) : TPararreter;

Список параметров всегда должен соответствовать запросу или хранимой процедуре. Для обновления списка используется метод


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс