CRecordset::Move

віртуальний недійсними Переміщення ( довго nRows, слово wFetchType = SQL_FETCH_RELATIVE);
кинути ( CDBException, CMemoryException );

Параметри

nRows

Кількість рядків для переміщення вперед або назад. Додатні значення переміщують вперед, до кінця набір записів. Від'ємні значення зсувають назад, до початку.

wFetchType

Визначає набір рядків, що Перехід буде отримувати. Детальніше див зауваження.

Зауваження

Телефонуйте цей член функції керування курсором поточний запис у наборі записів, або вперед або назад. Якщо ви передаєте значення 0 для nRows, Перемістити оновлення поточного запису; Переміщення закінчиться будь-якого AddNew або Редагувати режимі і буде відновити значення поточного запису перед AddNew або Редагувати називається.

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

Переміщення repositions набір записів на rowsets. На основі значення для 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 в SDK програміста ODBC посилання.

Приклад

/ / rs є на CRecordset або на / / CRecordset, отриманих об'єкта

/ / Зміна розміру набір рядків до 5
RS.SetRowsetSize (5);

/ / Перехід до першого запису
/ / у наборі записів
RS.MoveFirst ();

/ / Перейти до шостому запису
RS.Переміщення (5);
/ / Інші еквівалентні способи
/ / Перейти до шостому запису:
/ / rs.Переміщення (6, SQL_FETCH_ABSOLUTE);
/ / rs.SetAbsolutePosition (6);
/ / У цьому випадку, це шостий рекорд
/ / перший запис в наступний набір рядків,
/ / тому такі також є еквівалентними:
/ / rs.Переміщення (1, SQL_FETCH_NEXT);
/ / rs.MoveNext)

Огляд CRecordsetЧлени класу | Ієрархічна діаграма

Дивіться такожnbsp;CRecordset::Move&Next, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast, CRecordset::SetAbsolutePosition, CRecordset::SetBookmark, CRecordset::IsBOF, CRecordset::IsEOF, CRecordset::CheckRowsetError

Index