CRecordset::Move

Виртуальный void Двигаться ( длинные nRows, слово wFetchType = SQL_FETCH_RELATIVE);
бросить ( CDBException, CMemoryException );

Параметры

nRows

Количество строк, чтобы двигаться вперед или назад. Положительные значения двигаться вперед, к концу набора записей. Отрицательные значения перемещают назад, к началу.

wFetchType

Определяет набор строк, Перемещение загрузит. В разделе Примечания.

Примечания

Вызов этой функции-члена для перемещения указатель текущей записи в наборе записей, вперед или назад. Если передается значение 0 для nRows, переместить обновляет текущую запись; Переместить закончится любой текущий режим AddNew или Edit и позволит восстановить значение текущей записи перед AddNew или редактировать был вызван.

Примечание   При перемещении по набору записей удаленные записи могут не быть пропущены. Увидеть функция-член IsDeleted подробнее.

Переместить Move изменяет положение набора записей по наборов строк. На основе значений для nRows и wFetchType, переместить выбирает соответствующий набор строк и затем делает первую запись в этом строк текущей записи. Если не реализована массовая выборка строк, то размер набора строк всегда равен 1. Когда извлечение строк, двигаться прямо вызывает функцию-член CheckRowsetError для обработки любых ошибок, связанных с выборкой.

В зависимости от передаваемых значений переместить эквивалентен другие функции-члены класса CRecordset . В частности, значение wFetchType может указать функцию-член, которая является более понятным и зачастую предпочтительным способом для перемещения к текущей записи.

В следующей таблице перечислены возможные значения для wFetchType, набор строк, Перемещение загрузит на основе wFetchType и nRowsи любые функции-члена эквивалент, соответствующий wFetchType.

wFetchType Извлекаемых строк Эквивалентные функции
SQL_FETCH_RELATIVE (значение по умолчанию) Набор строк, начиная с первой строки в текущем наборе строк nRows строк:.
SQL_FETCH_NEXT Следующий набор строк; nRows игнорируется. Метод MoveNext
SQL_FETCH_PRIOR Предыдущий набор строк; nRows игнорируется. MovePrev
SQL_FETCH_FIRST Первый набор строк в наборе записей; nRows игнорируется. MoveFirst
SQL_FETCH_LAST Последний полный набор строк в наборе записей; nRows игнорируется. Метод MoveLast
SQL_FETCH_ABSOLUTE Если nRows gt; 0, набора строк, начиная nRows строк: с самого начала набора записей. Если nRows < 0, набора строк, начиная nRows row(s) из конца набора записей. Если nRows = 0, то возвращается условия начала файла (BOF). SetAbsolutePosition
SQL_FETCH_BOOKMARK Набор строк, начиная со строки, значение которой закладки соответствует nRows. SetBookmark

Примечаниеnbsp;  Для foward только для наборов записей переместить действителен только со значением SQL_FETCH_&NEXT для wFetchType.

Осторожно   Вызов переместить выдает исключение, если набор записей не имеет записей. Чтобы определить, имеет ли набор записей записи, вызовите IsBOF и IsEOF.

Если вы скроллировать мимо начала или конца набора записей (IsBOF и IsEOF возвращает ненулевое), вызов функции перемещения возможно будет создано CDBException. К примеру если IsEOF возвращает ненулевое значение, и не делает IsBOF , затем MoveNext будет сгенерировано исключение, но MovePrev не будет.

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

Для получения дополнительных сведений о навигации набора записей, обратитесь к статьям набор записей: прокрутки (ODBC) и набор записей: закладки и абсолютной позиции (ODBC) в Руководстве по Visual C++ программист. Дополнительные сведения о групповой выборки строк, найти в статье набор записей: выборка записей (ODBC) в Руководстве по Visual C++ программист. Соответствующие сведения содержатся в разделе ODBC API-функцию SQLExtendedFetch в справочнике программиста ODBC SDK.

Пример

/ / rs является CRecordset или / / производного от CRecordset объект

/ / Изменить размер строк-5
RS.SetRowsetSize (5);

/ / Перейти к первой записи
/ / в наборе записей
RS.MoveFirst ();

/ / Перейти к шестой записи
RS.Перемещение (5);
/ / Другие эквивалентные способы
/ / перейти на шестой запись:
/ / РС.Перемещение (6, SQL_FETCH_ABSOLUTE);
/ / РС.SetAbsolutePosition (6);
/ / В данном случае это шестой рекорд
/ / Первая запись в следующем строк
/ / так ниже также эквивалентны:
/ / РС.Перемещение (1, SQL_FETCH_NEXT);
/ / РС.Метод MoveNext)

Обзор CRecordsetЧлены класса | Иерархическая схема

См. такжеnbsp;CRecordset::Move&Next, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast, CRecordset::SetAbsolutePosition, CRecordset::SetBookmark, CRecordset::IsBOF, CRecordset::IsEOF, CRecordset::CheckRowsetError

Index