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


CDaoRecordset::IsEOF

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

BOOL IsEOF( ) const;

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

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

Заметки

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

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

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

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

  • Все операции, которые перемещаются успешно обнаруживают найти запись является причиной и 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::IsBOF