책갈피를 사용 하는 방법?

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

cProduct 클래스
{
공개:
   CBookmarklt; 4 > 북마크;

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

CDBPropSet propset(DBPROPSET_ROWSET);
propset입니다.AddProperty (DBPROP_BOOKMARKS, true);

CTable < CAccessor <CProduct> > 제품;
제품입니다.오픈 (세션, "제품" 및 propset)

CDynamicAccessor를 사용 하는 경우 버퍼는 런타임 시 동적으로 할당 됩니다. 이 경우, 버퍼 길이 지정 하지 CBookmark 의 특수 버전을 사용할 수 있습니다. 여기에서 보이는 것과 같이 함수 GetBookmark 를 사용 하 여 현재 레코드의 책갈피를 검색 하려면:

CTablelt;CDynamicAccessor > 제품;
CBookmark <> 북마크;
CDBPropSet propset(DBPROPSET_ROWSET);

propset입니다.AddProperty (DBPROP_BOOKMARKS, true);
제품입니다.오픈 (세션, "제품" 및 propset);
제품입니다.MoveNext();
제품입니다.GetBookmark(&bookmark);

Index