6.3. Доступ к данным

Для просмотра и редактирования данных в DataSet’е существует понятия выбранных записей. При просмотре значения именно этих записей мы будем видеть, а при редактировании – именно в этих записях будут редактироваться значения.

Текущие выбранные записи DataSet’а хранятся в полях:

Этот список можно модифицировать, вызывая такие методы:

Также этот список можно модифицировать через свойство DataSet’а RecNo. Установка этого свойства вызывает метод SetSelectedRecord.

Просматривать и редактировать данные в DataSet можно, обращаясь полям DataSet’а. Наиболее распространённые варианты получить поле DataSet’а:

  1. Через свойство Fields, по индексу поля. Обычно используется в цикле, когда нужно перечислить все поля;

  2. Через методы FieldByName и FindField. Используется для получения одного поля по его имени. Если поле не найдено, то FindField возвращает nil, a FieldByName в этом случае вызывает ошибку.

Получить данные из поля можно через свойства поля As* (AsString, AsBoolean и тому подобное). При этом:

  1. Если DataSet находится в режиме просмотра, то возвращается значение одной из выбранных записей;

  2. Если DataSet находится в режиме редактирования, то:

    • Если значения данного поля во всех редактируемых записях совпадает, то возвращается это значение;

    • Иначе возвращается пустое значение, соответствующее возвращаемому типу данных.