Aracılığıyla paylaş


Yer İşaretlerini Kullanma

Satır kümesini açmadan önce sağlayıcıya yer işaretlerini kullanmak istediğinizi belirtmeniz gerekir. Bunu yapmak için özelliğini özellik true kümenizde olarak ayarlayınDBPROP_BOOKMARKS. Sağlayıcı yer işaretlerini sıfır sütunu olarak aldığından, statik erişimci kullanıyorsanız özel makro BOOKMARK_ENTRY ve CBookmark sınıfı kullanmanız gerekir. CBookmark , bağımsız değişkeninin yer işareti arabelleğinin bayt cinsinden uzunluğu olduğu bir şablon sınıfıdır. Yer işareti için gereken arabellek uzunluğu sağlayıcıya bağlıdır. Aşağıdaki örnekte gösterildiği gibi ODBC OLE DB sağlayıcısını kullanıyorsanız arabellek 4 bayt olmalıdır.

class CProducts
{
public:
   CBookmark<4> bookmark;

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

Ardından, aşağıdaki kod tarafından kullanılır:

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

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

kullanıyorsanız CDynamicAccessor, arabellek çalışma zamanında dinamik olarak ayarlanır. Bu durumda, arabellek uzunluğu belirtmediğiniz özel bir sürümünü CBookmark kullanabilirsiniz. Bu kod örneğinde gösterildiği gibi geçerli kayıttan yer işaretini almak için işlevini GetBookmark kullanın:

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);

Sağlayıcılarda yer işaretlerini destekleme hakkında bilgi için bkz . Yer İşaretleri için Sağlayıcı Desteği.

Ayrıca bkz.

Erişimcileri Kullanma