Шаг 18 - Последовательная Навигация по CDaoRecordset

Для навигации по CDaoRecordset используется ряд методов. Давайте рассмотрим самые простые. Но сначала давайте поговорим о записи. При работе обычно какая то запись бывает текущей. Это та запись, на которой стоит логический курсор. Этот курсор может быть и физический, на экране например. Записи расположены подряд. И, например, просматривая записи мы сдвигаем курсор. Смотрите на рисунок ниже, здесь перечислен ряд функций.

18_1.gif (3478 b)

Первое это то, что у набора записей есть начало и конец. И мы должны уметь определять, что дошли до начала или конца. Начало определяет IsBof, а конец определяет IsEof. Есть маленькая тонкость в использовании этих функций. Дело в том, чтобы набор записей узнал, что он попал в конец он должен уже выйти за пределы записей, а это приведет к появлению исключения. Появится на экране табличка. Вот после этого можно будет определить, что мы дошли до конца или начала.

MoveFirst - в начало
MoveLast - в конец
MoveNext - вперед
MovePrev - назад

Вот теперь и получается, что, чтобы дойти до конца и определить конец набора записей без всяких левых сообщений нам надо использовать и try и IsEof. Вот так например:

try
{
	if (cDaoRset->IsEOF()) AfxMessageBox("eof");
	else
	{
		cDaoRset->MoveNext(); 
	}
}
catch(...)
{


}

В начало тоже самое, только проверка на IsBof и метод MovePrev.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 11.03.2001