CRecordset::Move
앞 이나 뒤로 레코드 집합 내에서 현재 레코드 포인터를 이동합니다.
virtual void Move(
long nRows,
WORD wFetchType = SQL_FETCH_RELATIVE
);
매개 변수
nRows
앞으로 또는 뒤로 이동 하는 행 개수입니다. 양수 값을 전달, 레코드 집합의 끝으로 이동 합니다. 음의 값 쪽으로 처음 뒤로 이동wFetchType
행 집합 결정은 이동 반입 됩니다. 자세한 내용은 설명 부분을 참조 하십시오.
설명
0의 값을 전달 하는 경우 nRows, 이동 ; 현재 레코드를 새로 고칩니다. 이동 현재 종료 됩니다 AddNew 또는 편집 모드를 하기 전에 현재 레코드의 값을 복원 하 고 AddNew 또는 편집 호출 되었습니다.
참고
레코드 집합에서 이동할 때 삭제 된 레코드를 건너뛸 수 없습니다.참조 CRecordset::IsDeleted 에 대 한 자세한 내용은.열면는 CRecordset 에 skipDeletedRecords 옵션 집합을 이동 경우 어설션는 nRows 매개 변수가 0입니다.이 동작은 동일한 데이터를 사용 하 여 다른 클라이언트 응용 프로그램에서 삭제할 행 새로 고침이 되지 않습니다.참조는 dwOption 매개 변수에서 열려 에 대 한 설명은 skipDeletedRecords.
이동 레코드 집합에서 행 집합 위치를 변경 합니다. 값에 따라 nRows 및 wFetchType, 이동 적절 한 행 집합을 반입 하 고 다음 현재 레코드는 행 집합에 있는 첫 번째 레코드를 만듭니다. 대량 행 페치를 구현한 경우 라면 행 집합 크기 1 것입니다. 행 집합을 인출 하는 경우 이동 를 직접 호출 하는 CheckRowsetError 반입에서 발생 하는 모든 오류를 처리 하는 멤버 함수.
전달 하면 값에 따라 이동 에 해당 하는 CRecordset 멤버 함수입니다. 특히, 값의 wFetchType 보다 직관적이 지는 멤버 함수 및 현재 레코드로 이동 하는 방법이 종종 나타낼 수 있습니다.
다음 표에서 가능한 값에 대 한 wFetchType, 행 집합은 이동 반입 됩니다 기반 wFetchType 및 nRows, 및 해당 해당 하는 멤버 함수 wFetchType.
wFetchType |
반입 된 행 집합 |
해당 하는 멤버 함수 |
---|---|---|
SQL_FETCH_RELATIVE(기본값) |
시작 하는 행 집합 nRows 행 집합의 현재 행의 첫 번째 행입니다. |
|
SQL_FETCH_NEXT |
다음 행 집합입니다. nRows무시 됩니다. |
|
SQL_FETCH_PRIOR |
이전 행 집합입니다. nRows무시 됩니다. |
|
SQL_FETCH_FIRST |
레코드 집합의 첫 번째 행 집합. nRows무시 됩니다. |
|
SQL_FETCH_LAST |
레코드 집합에서 마지막 전체 행 집합입니다. nRows무시 됩니다. |
|
SQL_FETCH_ABSOLUTE |
If nRows > 0에서 시작 하는 행 집합 nRows 레코드 집합의 행에서 시작 합니다. If nRows < 0에서 시작 하는 행 집합 nRows 행 레코드 집합의 끝에서. 경우 nRows = 0, 시작 파일 (BOF) 상태를 반환 합니다. |
|
SQL_FETCH_BOOKMARK |
책갈피 값에 해당 하는 행에서 시작 하는 행 집합 nRows. |
참고
앞 으로만 이동 가능한 레코드 집합에 대 한 이동 는 값만 유효 SQL_FETCH_NEXT 의 wFetchType.
참고
시작과 끝을 레코드 집합의 지 나 스크롤 했는지 경우 (IsBOF 또는 IsEOF 0이 아닌 반환), 호출을 이동 함수를 throw 됩니다 것 같습니다는 CDBException.예를 들어, 경우 IsEOF 0이 아닌 값을 반환 하 고 IsBOF 다음 되지 않습니다 MoveNext 예외를 throw 합니다 하지만 MovePrev 것입니다.
참고
호출 하는 경우 이동 중 현재 레코드 업데이트 또는 추가, 업데이트 경고 없이 손실 됩니다.
레코드 집합 탐색에 대 한 자세한 내용은 문서를 참조 하십시오. 레코드 집합: 스크롤 (ODBC) 및 레코드 집합: 책갈피와 절대 위치 (ODBC). 대량 행 페칭 (fetching) 하는 방법에 대 한 자세한 내용은 레코드 집합: 레코드 페치 대량 (ODBC). 관련 내용은 ODBC API 함수 SQLExtendedFetch 에 있는 Windows SDK.
예외
이 메서드가 형식의 예외를 throw 할 수 있습니다 CDBException * 및 CMemoryException*.
예제
// rs is a CRecordset or a CRecordset-derived object
// Change the rowset size to 5
rs.SetRowsetSize(5);
// Open the recordset
rs.Open(CRecordset::dynaset, NULL, CRecordset::useMultiRowFetch);
// Move to the first record in the recordset
rs.MoveFirst();
// Move to the sixth record
rs.Move(5);
// Other equivalent ways to move to the sixth record:
rs.Move(6, SQL_FETCH_ABSOLUTE);
rs.SetAbsolutePosition(6);
// In this case, the sixth record is the first record in the next rowset,
// so the following are also equivalent:
rs.MoveFirst();
rs.Move(1, SQL_FETCH_NEXT);
rs.MoveFirst();
rs.MoveNext();
요구 사항
헤더: afxdb.h