Для того чтобы групповая фильтрация заработала, необходимы два дополнительных условия. Во-первых, фильтрация должна быть включена - свойство Filtered ДОЛЖНО иметь значение True. Во-вторых, СВЗОВО LockType ДОЛЖНО ИМеТЬ значение ItBatchOptimistic.

with ADODataSet do begin Close;
LockType := ltbatchOptimistic;
Filtered := True;
FilterGroup := fgFetchedRecords;
Open;
end;

Метод

procedure FilterOnBookmarks(Bookmarks: array of const);

включает фильтрацию по существующим закладкам. Для этого предварительно необходимо при помощи метода GetBookmark установить закладки на интересующих записях. При вызове метода FilterOnBookmarks автоматически очищается свойство Filter, а свойству FilterGroup присваивается значение gUnassigned.

Поиск

Быстрый и гибкий поиск по полям текущего индекса набора данных обеспечивает метод

SeekDption = (soFirstEQ, soLastEQ, soAfterEQ, soAfter, soBeforeEQ, soBefore);
function Seek(const KeyValues: variant;
SeekDption: TSeekCption = soFirstEQ): Boolean;

В параметре KeyValues должны быть перечислены необходимые значения полей индекса. Параметр SeekOption управляет процессом поиска:

□ soFirstEQ - курсор устанавливается на первую найденную запись;
□ soLastEQ - курсор устанавливается на последнюю найденную запись;
D soAfterEQ - курсор устанавливается на найденную запись или, если запись не найдена, сразу после того места, где она могла находиться;
□
soAfter - курсор устанавливается сразу после найденной записи;
П soBeforeEQ - курсор устанавливается на найденную запись или, если запись не найдена, перед тем местом, где она могла находиться;

П soBefore - курсор устанавливается перед найденной записью.

Сортировка

Свойство

property Sort: WideString;

предоставляет простой способ сортировки по произвольному сочетанию полей. Оно должно включать через запятую имена нужных полей и признак прямого или обратного порядка сортировки:

ADODataSet.Sort := ' FirstField DESC' ;

Если порядок сортировки не указан, по умолчанию задается прямой порядок.

КомандаADO

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

При использовании компонентов-потомков класса TQMornADODataSet обычно нет необходимости применять объект команды напрямую. И хотя все реальное взаимодействие объекта набора данных ADO с источником данных осуществляется через объект команды, настройка и выполнение команды скрыты в свойствах и методах компонентов ADO. Тем не менее в классе TQMornADODataSet доступ к объекту команды можно получить при помощи свойства

property Ccrarand: TADOCommand;

При необходимости выполнить команду ADO, не связанную с конкретным набором данных, разработчик может использовать отдельный компонент TADOCommand, также расположенный на странице ADO Палитры компонентов.

Тип команды задается свойством

type

TCommandType = (cmdUnknown, crrriText, cmdTable, cmdStoredProc, crrrlFile, cmdTableDirect);
property CommandType: ТСсгатвпсГГуре;

17 Зак. 559

cmdunknown - тип команды неизвестен и будет определен источником данных;

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

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



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

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс