다음을 통해 공유


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