Поделиться через


CDaoRecordset::IsBOF

Эта функция-член вызывается перед прокрутите от записи к записи для изучения шли ли перед первой записью набора записей.

BOOL IsBOF( ) const;

Возвращаемое значение

Ненулевой если набор записей не содержит записи или если прокрутили назад до первой записи; в противном случае – значение 0.

Заметки

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

Если первая запись текущей записи и вызове MovePrev, то IsBOF далее возвращает ненулевое значение. Если IsBOF возвращает ненулевое и вызове MovePrev, возникает исключение. Если IsBOF возвращает ненулевое, текущая запись не определена, и любое действие, требует текущей записи приведет к исключению.

Эффект определенных методов IsBOF и параметрах IsEOF:

  • Вызов Открыть внутренне делает первой записью в наборе записей текущей записи путем вызова MoveFirst. Таким образом, вызов Открыть в пустом набор записей будет IsBOF и IsEOF возвратить ненулевое значение. (См. следующую таблицу для расширения функциональности неудачных MoveFirst или вызова MoveLast).

  • Все операции, которые перемещаются успешно обнаруживают найти запись является причиной и IsBOF и IsEOF для возврата 0.

  • Вызов AddNew после вызова Обновить, который был успешно добавлен новый IsBOF возвращать записи приведет к 0, но только в том случае, если IsEOF уже не равно нулю. Состояние IsEOF всегда остается неизменным. Как определено компонента database engine для jet (Майкрософт), указатель текущей записи пустого набора записей в конце файла, поэтому любой новая запись вставляется после текущей записи.

  • Любой вызов Удалить, даже если он удаляет линию остальные записи из набора записей не изменяет значение IsBOF или IsEOF.

В данной таблице показан разрешены, операции перемещения с различными сочетание IsBOF/IsEOF.

 

MoveFirst, MoveLast

MovePrev,

Перемещение < 0

Перемещение 0

MoveNext

Перемещение > 0

=nonzero,IsBOF

IsEOF=0

Разрешено

Исключение

Исключение

Разрешено

IsBOF=0,

=nonzero IsEOF

Разрешено

Разрешено

Исключение

Исключение

Оба ненулевые

Исключение

Исключение

Исключение

Исключение

Оба 0

Разрешено

Разрешено

Разрешено

Разрешено

Включение операция перемещения не означает, что операция успешно устроит запись. Оно лишь указывает, что разрешена и не будет предпринята попытка выполнить указанную операцию перемещения исключение. Значение IsBOF функций-членов и IsEOF может меняться в результате предпринятого перемещения.

Эффект перемещения операций, которые не обнаруживают найти запись на значении IsBOF и параметров IsEOF отображается в следующей таблице.

 

IsBOF

IsEOF

MoveFirst, MoveLast

Ненулевой

Ненулевой

Переместить 0

Без изменений

Без изменений

MovePrev, Переместить < 0

Ненулевой

Без изменений

MoveNext, Переместить > 0

Без изменений

Ненулевой

Дополнительные сведения см. в разделе "BOF свойства EOF" в Справке DAO.

Требования

Header: afxdao.h

См. также

Ссылки

Класс CDaoRecordset

Диаграмма иерархии

CDaoRecordset::IsEOF