Sdílet prostřednictvím


Přístupové objekty a sady řádků

K nastavení a načtení dat používají šablony OLE DB přístupové objekty a sadu řádků prostřednictvím CAccessorRowset třídy. Tato třída dokáže zpracovat více přístupových objektů různých typů.

Typy přístupových objektů

Všechny přístupové objekty jsou odvozené od CAccessorBase. CAccessorBase poskytuje vazbu parametrů i sloupců.

Následující obrázek znázorňuje typy přístupových objektů.

Diagram znázorňující vztahy mezi typy přístupových objektů
Třídy přístupového objektu

  • CAccessor Tento přístup použijte, pokud znáte strukturu zdroje databáze v době návrhu. CAccessor staticky vytvoří vazbu databázového záznamu, který obsahuje vyrovnávací paměť, ke zdroji dat.

  • CDynamicAccessor Tento přístup použijte, pokud neznáte strukturu databáze v době návrhu. CDynamicAccessor volání IColumnsInfo::GetColumnInfo pro získání informací o sloupci databáze. Vytvoří a spravuje přístupové objekty a vyrovnávací paměť.

  • CDynamicParameterAccessor Tento přístupový objekt slouží ke zpracování neznámých typů příkazů. Při přípravě příkazů CDynamicParameterAccessor můžete získat informace o parametrech ICommandWithParameters z rozhraní, pokud poskytovatel podporuje ICommandWithParameters.

  • CDynamicStringAccessor, CDynamicStringAccessorA a CDynamicStringAccessorW Tyto třídy použijte, pokud nemáte žádné znalosti o schématu databáze. CDynamicStringAccessorA načítá data jako řetězce ANSI; CDynamicStringAccessorW načte data jako řetězce Unicode.

  • CManualAccessor S touto třídou můžete použít libovolné datové typy, které chcete, pokud zprostředkovatel může převést typ. Zpracovává jak výsledné sloupce, tak parametry příkazu.

Následující tabulka shrnuje podporu typů přístupových objektů šablon OLE DB.

Typ přístupového objektu dynamicky, Zpracovává parametry Buffer Více přístupových objektů
CAccessor No Ano Uživatelská Ano
CDynamicAccessor Ano No Šablony OLE DB No
CDynamicParameterAccessor Ano Yes Šablony OLE DB No
CDynamicStringAccessor[A,W] Ano No Šablony OLE DB No
CManualAccessor Ano Yes Uživatelská Ano

Typy sady řádků

Šablony OLE DB podporují tři druhy sad řádků (viz předchozí obrázek): jednoduché sady řádků (implementované CRowset), hromadné sady řádků (implementované CBulkRowset) a sady řádků polí (implementované CArrayRowset). Jednoduché sady řádků načítají jeden popisovač řádku při MoveNext zavolání. Hromadné sady řádků mohou načíst více popisovačů řádků. Sady řádků pole jsou sady řádků, ke kterým je možné získat přístup pomocí syntaxe pole.

Následující obrázek znázorňuje typy sad řádků.

Diagram znázorňující vztahy mezi typy sady řádků
Třídy sady řádků

Sady řádků schématu nemají přístup k datům v úložišti dat, ale mají přístup k informacím o úložišti dat označovaných jako metadata. Sady řádků schématu se obvykle používají v situacích, kdy struktura databáze není v době kompilace známá a musí být získána za běhu.

Viz také

Šablony příjemců OLE DB