다음을 통해 공유


책갈피 사용

행 집합을 열기 전에 책갈피를 사용하려는 공급자에게 알려야 합니다. 이렇게 하려면 속성 집합에서 DBPROP_BOOKMARKS 속성을 true 설정합니다. 공급자는 책갈피를 열 0으로 검색하므로 정적 접근자를 사용하는 경우 특수 매크로 BOOKMARK_ENTRY 클래스 CBookmark 를 사용해야 합니다. CBookmark 는 인수가 책갈피 버퍼의 길이(바이트)인 템플릿 클래스입니다. 책갈피에 필요한 버퍼의 길이는 공급자에 따라 달라집니다. 다음 예제와 같이 ODBC OLE DB 공급자를 사용하는 경우 버퍼는 4바이트여야 합니다.

class CProducts
{
public:
   CBookmark<4> bookmark;

   BEGIN_COLUMN_MAP(CProducts)
      BOOKMARK_ENTRY(bookmark)
   END_COLUMN_MAP()
};

그런 다음, 다음 코드에서 사용합니다.

CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_BOOKMARKS, true);

CTable<CAccessor<CProducts>> product;
CSession session;
product.Open(session, "Products", &propset);

사용하는 CDynamicAccessor경우 버퍼는 런타임에 동적으로 설정됩니다. 이 경우 버퍼 길이를 지정하지 않는 특수 버전을 CBookmark 사용할 수 있습니다. 이 코드 샘플과 같이 함수 GetBookmark 를 사용하여 현재 레코드에서 책갈피를 검색합니다.

CTable<CDynamicAccessor> product;
CBookmark<> bookmark;
CDBPropSet propset(DBPROPSET_ROWSET);
CSession session;

propset.AddProperty(DBPROP_BOOKMARKS, true);
product.Open(session, "Products", &propset);
product.MoveNext();
product.GetBookmark(&bookmark);

공급자에서 책갈피를 지원하는 방법에 대한 자세한 내용은 책갈피에 대한 공급자 지원을 참조 하세요.

참고 항목

접근자 사용