Обзор свойств, методов и событий TDBDataSet 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обзор свойств, методов и событий TDBDataSet



Свойство / метод Описание

Настройка связи с БД

property Connection: String; Ссылка на имя компонента соединения (TADOConnection.Name)

Настройка компонента

property DataSource: TDataSource; Используется для указания главного НД в связи oдин ко многим
Property CanModif у: Boolean; Указывает, может ли пользователь изменять НД

 


Состояния НД Состояние НД определяется его свойством State, доступным только для чтения на этапе выполнения программы. Значения, которые может принимать свойство State, описаны ниже.

property State:TDataSetState     Указывает состояние НД; dsInactive — закрыт; dsBrowse — просмотр; dsEdit —редактирование; dsInsert — вставка; dsSetKey — поиск записи;
property Active: Boolean; True (Открывает)/false(закрывает) НД; используется на этапе проектирования, т.к. методы на этом этапе не доступны.
procedure Open; Открывает НД
procedure Close; Закрывает НД
  Для открытия/закрытия лучше исп.методы If not НД.Active then Table1.Open;
procedure Delete; Удаляет текущую запись
procedure Edit; Переводит НД в режим редактирования
procedure Insert; Переводит НД в режим вставки записей
procedure Post; virtual; Сохраняет добавленную или отредактированную запись в таблице БД
procedure Cancel; Отменяет все изменения текущей записи, выполненные при редактировании (после Insert или Edit но до Post)
procedure ClearFields; Очищает все поля текущей записи

 

Основные состояния набора данных и переходы между состояниями приведены на рис.1.

Начальное состояние любого НД - dsInactive. Чтобы открыть НД, используется его метод Open. После успешного открытия НД переходит в состояние dsBrowse, а его курсор устанавливается на первую запись.

Чтобы закрыть НД, вызывается метод Close. Если НД закрывается, находясь в режимах dsInsert или dsEdit. изменения, сделанные в текущей записи, не запоминаются.

Рис.1 Изменения состояний НД

 

Навигация по записям

Под курсором набора данных понимается указатель текущей записи в конкретном НД. Текущая запись - это та запись, над которой в данный момент времени можно выполнять какие-либо операции (удаление, изменение, чтение значений, содержащихся в полях записи).

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

Property Bof: Boolean; Содержит True, если курсор НД указывает на первую запись
property Eof: Boolean; Содержит True, если курсор НД сместился за последнюю запись
property RecNo: Longint; Определяет номер текущей записи
property RecordCount: Longint; Содержит количество записей в текущем НД
function IsEmpty: Boolean; Возвращает True, если в НД нет записей
procedure First; Устанавливает курсор на первую запись в НД
procedure Last; Устанавливает курсор на последнюю запись
procedure Next; Перемещает курсор к следующей записи
procedure Prior; Перемещает курсор к предыдущей записи
function FindFirst: Boolean; Пытается установить курсор на первую запись НД и возвращает True в случае успеха
function FindLast: Boolean; Пытается установить курсор на последнюю запись НД и возвращает т rue в случае успеха
function FindNext: Boolean; Пытается установить курсор на следующую запись НД и возвращает True в случае успеха
function FlndPrior: Boolean; Пытается установить курсор на предыдущую запись НД и возвращает True в случае успеха

Поля НД

property FleldCount: Integer; Содержит количество полей НД
property Fields: TFields; Позволяет обратиться к полям по их индексу Первое пoлe НД имеет индекс 0 Например Str:=Table1.Fields[0].Value;
property FieldValues [const FieldName: String]: Variant; Позволяет обратиться к значениям полей по имени поля Например Str:=Table1.FieldValues['PostName']
function FieldByName(const FieldName: string): TField; Обеспечивает доступ к полю по его имени FieldName Str:=Table1.FieldByName['PostName'].Value

 

События НД

События

Для реализации каскадных изменений и бизнес-правил в файл-серверных БД обычно используются обработчики событий AfterXXXX и BeforeXXXX. Эти две группы событий связаны с изменениями НД (вставка, удаление или редактирование записи) и отличаются тем, что события BeforeXXXX наступают непосредственно перед изменением НД, а события Afterxxxx — сразу посте изменения:

Вместо символов ХХХХ в названиях событий указываются, которые возникают:

Open — при открытия НД; (на «после» можно установить свойства полей)

Close — при закрытии НД;

Delete — при удаления записи НД;

Edit — при переходе НД в режим ред-я;

Insert — при перехода НД в режим вставки записи (на после можно задать начальные значения полей, например текущую дату);

Cancel — при отмене изменений в текущей записи;

Post — при выполнении сохранения в НД (на «до» можно проверить правильность заполнения полей и заполнить недостающие значения);

Scroll — после перехода к следующей записи

Обработчики этих событий в качестве параметра получают ссылку на НД, вызвавший соответствующее событие. Если необходимо прервать работу обработчика и предотвратить изменение таблиц БД, нужно возбудить исключение или вызвать процедуру Abort.

Поля набора данных

Любой НД состоит из полей (поля соответствуют колонкам таблицы).

Таблица БД и соответствующий ей набор данных приложения имеет собственную структуру, которая определяется совокупностью полей - свойство Fields, представляющее собой индексированный список объектов полей набора данных (Fields [ i ], i=0, FieldCount -1), где FieldCount -количество полей НД.

Каждому полю соответствует собственный объект - класс TFieid.



Поделиться:


Последнее изменение этой страницы: 2020-12-17; просмотров: 84; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.218.230 (0.008 с.)