Класс CRecordset
Все компоненты и методы этого класса можно разбить на семь категорий:
- Компоненты данных. Служат для хранения информации, используемой для непосредственной работы с базой данных, к которой объект этого класса был присоединен.
- Конструирование. В эту категорию входят конструктор и методы для от-крытия/закрытия форм базы данных.
- Атрибуты результирующего набора. Функции, используемые для получе-ния информации о результирующем наборе, к которому присоединен объект класса CRecordset.
- Операции обновления результирующего набора. Четыре операции, предна-значенные для обработки транзакций.
- Операции перемещения по результирующему набору. Функции, позволяю-щие перемещаться по записям результирующего набора.
- Другие операции над результирующим набором. Восемь функций, предос-тавляющие дополнительные функциональные возможности.
- Переопределяемые методы. Пять переопределяемых функций, позволяю-щие программисту настроить функционирование объекта класса CRecordset.
BOOL CRecordset::IsOpen ()
Позволяет определить, открыт ли уже результирующий набор. Хорошим стилем программирования является использование этой функции перед тем, как вызывать функцию Open.
BOOL CRecordset::IsBOF ()
Позволяет определить, является ли текущая запись первой в наборе данных. Она возвращает ненулевое значение, если результирующий набор не содержит записей или указатель помещен до первой записи, и 0 — в противном случае. Если функция возвратила ненулевое значение, то текущая запись не определена, и при вызове функции MovePrev возникает ошибка.
BOOL CRecordset::IsEOF ( )
Позволяет определить, является ли текущая запись последней в наборе данных. Возвращает ненулевое значение, если результирующий набор не содержит записей или указатель помещен за последней записью, и 0 — в противном случае. Если функция возвратила ненулевое значение, то текущая запись не определена, и при вызове функции MoveNext возникает ошибка.
BOOL CRecordset::IsDeleted ( )
Позволяет определить, была ли текущая запись удалена. Если при перемещении на запись и вызове этой функции она возвращает ненулевое значение, необходимо перейти к другой записи до того, как производить какие-либо операции над результирующим набором.
Эту функцию не следует использовать при работе с блочной выборкой строк. Вместо нее следует вызывать функцию GetRowStatus,
Примечание: Результат, возвращаемый функцией IsDeleted, зависит от многих факторов, таких как тип результирующего набора, можно ли его обновлять, определена ли при открытии опция CRecordset ::skipDeletedRecords, позволяет ли используемый драйвер удалять записи и каково число работающих пользователей.