다음을 통해 공유


CRecordset::Requery

(새로 고침)를 다시 작성 합니다. 레코드 집합입니다.

virtual BOOL Requery( );

반환 값

레코드 집합을 성공적으로 빌드한 경우 0이 아닌. 그렇지 않으면 0입니다.

설명

모든 레코드를 반환 하는 경우 첫 번째 레코드가 현재 레코드가 됩니다.

추가 및 사용자 데이터 원본에 만드는 삭제를 반영 하도록 레코드 집합을 순서 대로 호출 하 여 레코드 집합 다시 해야 Requery.레코드 집합이 다이너셋 경우 사용자의 기존 레코드 (있지만 않은 추가) 변경 사항이 자동으로 반영 됩니다.레코드 집합이 스냅샷인 경우 호출 해야 Requery 다른 사용자 뿐만 아니라 추가 및 삭제 하 여 편집 내용을 반영할 수 있습니다.

다이너셋 또는 스냅샷을 위한 전화 Requery 언제 든 지 새 필터 또는 정렬 또는 새 매개 변수 값을 사용 하 여 레코드 집합을 다시 합니다.새 정렬 또는 필터 속성에 새 값을 할당 하 여 설정 m_strFilterm_strSort 호출 하기 전에 Requery.호출 하기 전에 매개 변수 데이터 멤버에 새 값을 할당 하 여 새 매개 변수 설정 Requery.필터 및 정렬 문자열은 변경 되지 않은 경우 성능이 향상 되는 쿼리를 다시 사용할 수 있습니다.

레코드 집합 다시 시도가 실패 하면 레코드 집합이 닫혀 있습니다.호출 하기 전에 Requery를 호출 하 여 레코드 집합 다시 수 있는지 여부를 확인할 수 있습니다는 CanRestart 멤버 함수입니다.CanRestart보증 하지 않습니다 Requery 성공적으로 수행 됩니다.

주의 정보주의

호출 Requery 만 호출 후 열려.

예외

이 메서드가 형식의 예외를 throw 할 수 있습니다 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!"));

요구 사항

헤더: afxdb.h

참고 항목

참조

CRecordset 클래스

계층 구조 차트

CRecordset::CanRestart

CRecordset::m_strFilter

CRecordset::m_strSort