Набор данных открывается и закрывается свойством

property Active: Boolean;

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

procedure Среп;
procedure Close;

После открытия набора данных можно перемещаться по его записям.

На одну запись вперед и назад перемещают курсор соответственно методы

procedure Next ;
procedure Prior;

На первую и последнюю запись можно попасть, используя соответственно методы

procedure First;
procedure Last;

Признаком того, что достигнута последняя запись набора, является свойство

property Eof: Boolean;

которое в этом случае имеет значение True.

Аналогичную функцию для первой записи выполняет свойство

property Bof: Boolean;

Перемещение вперед и назад на заданное число записей выполняет метод

function MoveBy(Distance: Integer) : Integer;

Параметр Distance определяет число записей. Если параметр отрицательный - перемещение осуществляется к началу набора данных, иначе - к концу.

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

procedure DisableControls;

Обратная операция выполняется методом

procedure EnableControls;

Общее число записей набора данных возвращает свойство

property RecordCount: Integer;

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

function IsEmpty: Boolean;

который возвращает значение True, если набор данных пуст, или уже упоминавшиеся свойства

if MyTable.Bof and MyTable. Eof then ShowMessage('DataSet is empty1);

Номер текущей записи позволяет узнать свойство

property RecNo: Integer;

Размер записи в байтах возвращает свойство

property RecordSize: Word;

Каждая запись набора данных представляет собой совокупность значений полей таблицы. В зависимости от типа компонента и его настройки, число полей в наборе данных может изменяться. И совсем не обязательно набор данных должен содержать все поля таблицы базы данных.

Совокупность полей набора данных инкапсулирует свойство

property Fields: TFields ;

а все необходимые параметры полей содержатся в свойстве

property FieldDefs: TFieldtefs;

Общее число полей набора данных возвращает свойство

property FieldCount: Integer;

а общее число полей типа BLOB содержится в свойстве

property BlobFieldCount: Integer;
Доступ к значениям полей текущей записи предоставляет свойство property FieldValues [const FieldName: string]: Variant;
default;

где в параметре FieldName задается имя поля.

В процессе программирования разработчик очень часто обращается к полям набора данных. Если структура полей набора данных жестко задана и не изменяется, это можно сделать так:

for i := 0 to MyTable. FieldCount - 1 do

MyTable.Fields[i] .DiplayFormat := '#.###';

Иначе, если порядок следования полей и их состав меняется, можно использовать метод

function FieldByName (const FieldName: string): TField;

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

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



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

  • Октябрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс