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


CRecordset::Requery

Будет перестроен (обновление) набора записей.

virtual BOOL Requery( );

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

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

Заметки

Если какие-либо записи возвращаются, то первая запись становится текущей записью.

В набор записей, чтобы отразить добавления и удаления или другие пользователи выполняют к источнику данных, необходимо перестроить набор записей путем вызова Requery. Если набор записей является динамическим подмножеством данных, он автоматически отражает обновления или другие пользователи выполняют его существующим записям (но не сложениям). Если набор записей является моментальным снимком, необходимо вызвать метод Requery, чтобы отразить правки другими пользователями, а также сложениями и удалений.

Для динамического подмножества данных или моментального снимка, вызов Requery каждый раз, когда требуется перестроить набор записей с помощью нового фильтра или сортировки или новых значений параметров. Установите новое свойство фильтра или сортировки путем присвоения новых значений в m_strFilter и m_strSort перед вызовом Requery. Заданы новые параметры путем присвоения новых значений к элементам данных параметра до вызова Requery. Если фильтрация и сортировка строк не меняются, можно повторно использовать запрос, который повышает производительность.

Если попытки перестроить fail набора записей, то набор записей закрыть. Прежде чем вызывать метод Requery можно указать, является ли набор записей может быть requeried, вызвав функцию-член CanRestart. CanRestart не гарантирует, что Requery завершится успешно.

Предупреждение

Вызов Requery только после того, как был вызван Открытие.

Исключения

Этот метод может создавать исключения типа CDBException* и CMemoryException*.

Пример

В этом примере набор записей будет перестроен, чтобы применить другой порядок сортировки.

CCustomer rsCustSet(&m_dbCust);

// Open the recordset
rsCustSet.Open();

// Use the recordset ... 

// Set the sort order and Requery the recordset
rsCustSet.m_strSort = _T("L_Name, ContactFirstName");
if(!rsCustSet.CanRestart())
   return;    // Unable to requery 

if(!rsCustSet.Requery())
   // Requery failed, so take action
   AfxMessageBox(_T("Requery failed!"));

Требования

Header: afxdb.h

См. также

Ссылки

Класс CRecordset

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

CRecordset::CanRestart

CRecordset::m_strFilter

CRecordset::m_strSort