IRowsetLocateImpl 클래스
행 집합에서 임의의 행을 가져오는 OLE DB IRowsetLocate 인터페이스를 구현합니다.
구문
template <
class T,
class RowsetInterface,
class RowClass = CSimpleRow,
class MapClass = CAtlMap < RowClass::KeyType, RowClass* >,
class BookmarkKeyType = LONG,
class BookmarkType = LONG,
class BookmarkMapClass = CAtlMap < RowClass::KeyType, RowClass* >>
class ATL_NO_VTABLE IRowsetLocateImpl : public IRowsetImpl<
T,
RowsetInterface,
RowClass,
MapClass>
매개 변수
T
에서 파생된 클래스입니다 IRowsetLocateImpl
.
RowsetInterface
에서 파생된 클래스입니다 IRowsetImpl
.
RowClass
에 대한 스토리지 단위입니다 HROW
.
MapClass
공급자가 보유한 모든 행 핸들의 스토리지 단위입니다.
BookmarkKeyType
LONG 또는 문자열과 같은 책갈피의 형식입니다. 일반 책갈피의 길이는 2바이트 이상이어야 합니다. (싱글바이트 길이는 OLE DB 표준 책갈피 DBBMK_LAST
DBBMK_FIRST
및 DBBMK_INVALID
.)
BookmarkType
책갈피-데이터 관계를 유지 관리하기 위한 매핑 메커니즘입니다.
BookmarkMapClass
책갈피가 보유한 모든 행 핸들에 대한 스토리지 단위입니다.
요구 사항
헤더: atldb.h
멤버
인터페이스 메서드
속성 | 설명 |
---|---|
비교 | 두 책갈피를 비교합니다. |
GetRowsAt | 책갈피에서 오프셋으로 지정된 행으로 시작하는 행을 가져옵니다. |
GetRowsByBookmark | 지정된 책갈피와 일치하는 행을 가져옵니다. |
해시 | 지정된 책갈피에 대한 해시 값을 반환합니다. |
데이터 멤버
속성 | 설명 |
---|---|
m_rgBookmarks | 책갈피 배열입니다. |
설명
IRowsetLocateImpl
는 IRowsetLocate 인터페이스의 OLE DB 템플릿 구현입니다 . IRowsetLocate
은 행 집합에서 임의의 행을 가져오는 데 사용됩니다. 이 인터페이스를 구현하지 않는 행 집합은 행 집합입니다 sequential
. 행 집합에 있는 경우 열 0은 행의 책갈피입니다. 이 열을 읽으면 IRowsetLocate
동일한 행의 위치를 변경하는 데 사용할 수 있는 책갈피 값을 얻습니다.
IRowsetLocateImpl
는 공급자에서 책갈피 지원을 구현하는 데 사용됩니다. 책갈피는 소비자가 행으로 빠르게 반환하여 데이터에 고속으로 액세스할 수 있도록 하는 자리 표시자(행 집합의 인덱스)입니다. 공급자는 행을 고유하게 식별할 수 있는 책갈피를 결정합니다. 메서드를 사용하여 IRowsetLocateImpl
책갈피를 비교하고, 오프셋별로 행을 가져오고, 책갈피별로 행을 가져오고, 책갈피에 대한 해시 값을 반환할 수 있습니다.
행 집합에서 OLE DB 책갈피를 지원하려면 행 집합이 이 클래스에서 상속되도록 합니다.
책갈피 지원을 구현하는 방법에 대한 자세한 내용은 플랫폼 SDK의 OLE DB 프로그래머 참조에서 Visual C++ 프로그래머 가이드 및 책갈피의 책갈피에 대한 공급자 지원을 참조하세요.
IRowsetLocateImpl::Compare
두 책갈피를 비교합니다.
구문
STDMETHOD (Compare )(HCHAPTER /* hReserved */,
DBBKMARK cbBookmark1,
const BYTE* pBookmark1,
DBBKMARK cbBookmark2,
const BYTE* pBookmark2,
DBCOMPARE* pComparison);
매개 변수
OLE DB 프로그래머 참조에서 IRowsetLocate::Compare를 참조하세요.
설명
책갈피 중 하나가 표준 OLE DB 정의 표준 책갈피(DBBMK_FIRST
DBBMK_LAST
또는DBBMK_INVALID
)일 수 있습니다. 반환된 pComparison
값은 두 책갈피 간의 관계를 나타냅니다.
DBCOMPARE_LT(이전
cbBookmark1
)입니다cbBookmark2
.DBCOMPARE_EQ(
cbBookmark1
.와 같음cbBookmark2
)DBCOMPARE_GT(.
cbBookmark1
) 이후cbBookmark2
입니다.DBCOMPARE_NE(책갈피는 같고 순서가 지정되지 않습니다.)
DBCOMPARE_NOTCOMPARABLE(책갈피를 비교할 수 없습니다.)
IRowsetLocateImpl::GetRowsAt
책갈피에서 오프셋으로 지정된 행으로 시작하는 행을 가져옵니다.
구문
STDMETHOD (GetRowsAt )(HWATCHREGION /* hReserved1 */,
HCHAPTER hReserved2,
DBBKMARK cbBookmark,
const BYTE* pBookmark,
DBROWOFFSET lRowsOffset,
DBROWCOUNT cRows,
DBCOUNTITEM* pcRowsObtained,
HROW** prghRows);
매개 변수
OLE DB 프로그래머 참조에서 IRowsetLocate::GetRowsAt을 참조하세요.
설명
커서 위치에서 대신 가져오려면 IRowset::GetRowsAt을 사용합니다.
IRowsetLocateImpl::GetRowsAt
은 커서 위치를 변경하지 않습니다.
IRowsetLocateImpl::GetRowsByBookmark
지정된 책갈피와 일치하는 하나 이상의 행을 가져옵니다.
구문
STDMETHOD (GetRowsByBookmark )(HCHAPTER /* hReserved */,
DBCOUNTITEM cRows,
const DBBKMARK rgcbBookmarks[],
const BYTE* rgpBookmarks,
HROW rghRows[],
DBROWSTATUS* rgRowStatus[]);
매개 변수
hReserved
[in] IRowsetLocate::GetRowsByBookmark에 대한 hChapter 매개 변수에 해당합니다.
다른 매개 변수는 OLE DB 프로그래머 참조에서 IRowsetLocate::GetRowsByBookmark를 참조하세요.
설명
책갈피는 정의한 값 또는 OLE DB 표준 책갈피(DBBMK_FIRST
또는DBBMK_LAST
)일 수 있습니다. 커서 위치를 변경하지 않습니다.
IRowsetLocateImpl::Hash
지정된 책갈피에 대한 해시 값을 반환합니다.
구문
STDMETHOD (Hash )(HCHAPTER /* hReserved */,
DBBKMARK cbBookmarks,
const DBBKMARK* rgcbBookmarks[],
const BYTE* rgpBookmarks[],
DBHASHVALUE rgHashValues[],
DBROWSTATUS rgBookmarkStatus[]);
매개 변수
hReserved
[in] IRowsetLocate::Hash에 대한 hChapter 매개 변수에 해당합니다.
다른 매개 변수는 OLE DB 프로그래머 참조에서 IRowsetLocate::Hash를 참조하세요.
IRowsetLocateImpl::m_rgBookmarks
책갈피 배열입니다.
구문
CAtlArray<DBROWCOUNT> m_rgBookmarks;
참고 항목
OLE DB 공급자 템플릿
OLE DB 공급자 템플릿 구조
IRowsetLocate:책갈피에 대한 IRowset공급자 지원
책갈피