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ů.
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 parametrechICommandWithParameters
z rozhraní, pokud poskytovatel podporujeICommandWithParameters
.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ů.
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.