다음을 통해 공유


책갈피 사용

행 집합을 열기 전에, 공급자에게 책갈피를 사용하려는 사실을 알려야 합니다.이렇게 하려면 속성 설정에서 DBPROP_BOOKMARKS 속성을 true로 설정하십시오.공급자는 책갈피를 열 0으로 검색하므로 정적 접근자를 사용하는 경우에는 특수 매크로 BOOKMARK_ENTRYCBookmark 클래스를 사용해야 합니다.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;
product.Open(session, "Products", &propset);

CDynamicAccessor를 사용하는 경우, 버퍼는 런타임에 동적으로 할당됩니다.이 경우, 버퍼 길이를 지정하지 않는 CBookmark의 특수 버전을 사용할 수 있습니다.다음 코드 예제에서처럼 함수 GetBookmark를 사용하여 현재 레코드의 책갈피를 검색할 수 있습니다.

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

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

공급자의 책갈피 지원에 대한 자세한 내용은 공급자의 책갈피 지원을 참조하십시오.

참고 항목

개념

접근자 사용