CRecordset::Requery
(새로 고침)를 다시 작성 합니다. 레코드 집합입니다.
virtual BOOL Requery( );
반환 값
레코드 집합을 성공적으로 빌드한 경우 0이 아닌. 그렇지 않으면 0입니다.
설명
모든 레코드를 반환 하는 경우 첫 번째 레코드가 현재 레코드가 됩니다.
추가 및 사용자 데이터 원본에 만드는 삭제를 반영 하도록 레코드 집합을 순서 대로 호출 하 여 레코드 집합 다시 해야 Requery.레코드 집합이 다이너셋 경우 사용자의 기존 레코드 (있지만 않은 추가) 변경 사항이 자동으로 반영 됩니다.레코드 집합이 스냅샷인 경우 호출 해야 Requery 다른 사용자 뿐만 아니라 추가 및 삭제 하 여 편집 내용을 반영할 수 있습니다.
다이너셋 또는 스냅샷을 위한 전화 Requery 언제 든 지 새 필터 또는 정렬 또는 새 매개 변수 값을 사용 하 여 레코드 집합을 다시 합니다.새 정렬 또는 필터 속성에 새 값을 할당 하 여 설정 m_strFilter 및 m_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