Compartilhar via


Usando indicadores

Antes de em em aberto o conjunto de linhas, você deve dizer o provedor que você deseja usar indicadores.Para fazer isso, defina o DBPROP_BOOKMARKS propriedade True seu conjunto de propriedades.O provedor recupera indicadores sistema autônomo coluna zero, portanto, você deve usar a macro especial BOOKMARK_ENTRY e o CBookmark Se você estiver usando um acessador estático de classe. CBookmark é uma classe de modelo onde o argumento é o comprimento em bytes do buffer de indicador. O comprimento do buffer necessário para um indicador depende do provedor.Se você estiver usando o provedor ODBC OLE DB, sistema autônomo mostrado no exemplo a seguir, o buffer deve ser 4 bytes.

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

Se você usar CDynamicAccessor, o buffer é alocado dinamicamente em time de execução. Nesse caso, você pode usar uma versão especializada da CBookmark para os quais você não especificar um comprimento de buffer. Use a função GetBookmark para recuperar o indicador do registro corrente, sistema autônomo mostra este exemplo de código:

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

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

Para obter informações sobre o suporte a marcadores em provedores, consulte Provedor de suporte para indicadores.

Consulte também

Conceitos

Usar acessadores