И делается это следующим образом:

MyTable.FieldByName('VENDORNO').AsInteger := 1234;

Имя поля, передаваемое в параметре FieldName, не чувствительно к регистру символов.

Метод

procedure GetFieldNames (List: TStrings) ;

вернет в параметр List полный список имен полей набора данных.

Более подробная информация о полях и способах работы с ними содержится в гл. 13.

Класс TDataSet содержит ряд свойств и методов, которые обеспечивают редактирование набора данных.

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

property CanModify: Boolean;

которое принимает значение True для редактируемых наборов.

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

procedure FxJit;

Для сохранения сделанных изменений применяется метод

procedure Post;
virtual;

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

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

procedure Cancel;
virtual;

Новая пустая запись добавляется в конец набора данных методом

procedure Append;

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

procedure Insert;

а текущая запись и все нижеследующие смещаются на одну позицию вниз.

При использовании методов Append и lnsertHa6op данных переходит в режим редактирования самостоятельно.

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

procedure AppendRecord(const Values: array of const) ;
procedure insertRecord(const Values: array of const) ;

А делается это примерно так:

МуТаЫе.AppendRecord ( [2345, 'New customer', '+7 (812) 4569012 ', 0 , '']);

После вызова этих методов и их завершения набор данных автоматически возвращается в состояние просмотра.

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

procedure SetFields(const Values: array of const) ;

Текущая запись удаляется методом

procedure Delete;

При этом набор данных не выдает никаких предупреждений, а просто делает это.

Очистить содержимое всех полей текущей записи может метод

procedure ClearFields;

Обратите внимание, что поля становятся пустыми (NULL), а не сбрасываются в нулевое значение.

О том, редактировалась ли текущая запись, сообщает свойство property Modified: Boolean; если оно имеет значение True.

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

procedure Refresh;

Однако он сработает только для таблиц и тех запросов, которые нельзя редактировать.

В каждый момент времени набор данных находится в определенном состоянии (о состояниях см. ниже в этой главе). Свойство

type TDataSetState = (dslnactive, dsBrowse, dsFdit, dslnsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead,

dsInternalCalc, dsCpening) ;
property State: TDataSetState;

дает информацию о текущем состоянии набора.

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


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

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



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

  • Декабрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31