Přístupové objekty a sady řádků
K nastavení a načtení dat používají šablony technologie OLE DB přistupující objekt a sadu řádků, prostřednictvím třídy CAccessorRowset.Tato třída může zpracovávat víc přístupových objektů různých typů.
Typy přistupujícího objektu
Všechny přístupové objekty jsou odvozeny z CAccessorBase.CAccessorBase poskytuje i parametr a vazbu na sloupec.
Následující obrázek ukazuje typy přistupujícího objektu.
Třídy přistupujícího objektu
CAccessor Použijte tento přistupující objekt, pokud znáte zdrojovou databázi v době návrhu .CAccessor staticky váže záznam v databázi, která obsahuje vyrovnávací paměť, ke zdroji dat
CDynamicAccessor Použijte tento přistupující objekt, pokud neznáte strukturu zdrojové databáze v době návrhu .CDynamicAccessor volá IColumnsInfo::GetColumnInfo pro získání informací databázového sloupce. Vytváří a spravuje přistupující objekt a vyrovnávací paměť.
CDynamicParameterAccessor Požijte tento přistupující objekt ke zpracování neznámých typů příkazů.Když připravujete příkazy, CDynamicParameterAccessor může získat informace o parametru z rozhraní ICommandWithParameters, pokud zprostředkovatel podporuje ICommandWithParameters.
CDynamicStringAccessor, CDynamicStringAccessorA a CDynamicStringAccessorW Tyto třídy použijte v případě, když nemáte žádné znalosti o schématu databáze.CDynamicStringAccessorA načítá data jako řetězce ANSI; CDynamicStringAccessorW načítá data jako řetězce Unicode.
CManualAccessor S touto třídou můžete použít jakékoliv datové typy, které chcete, aby mohl zprostředkovatel převést.Zpracovává i výsledek sloupců a příkazy parametrů.
Následující tabulka shrnuje podporu v typech šablony přistupujícího objektu technologie OLE DB .
Typ přistupujícího objektu |
Dynamické |
Zpracovává parametry |
Vyrovnávací paměť |
Několik přístupových objektů |
---|---|---|---|---|
CAccessor |
Ne |
Ano |
Uživatel |
Ano |
CDynamicAccessor |
Ano |
Ne |
Šablony technologie OLE DB |
Ne |
CDynamicParameterAccessor |
Ano |
Ano |
Šablony technologie OLE DB |
Ne |
CDynamicStringAccessor[A,W] |
Ano |
Ne |
Šablony technologie OLE DB |
Ne |
CManualAccessor |
Ano |
Ano |
Uživatel |
Ano |
Typy sady řádků
Šablony technologie OLE DB podporují tři typy sady řádků (viz předchozí obrázek): jednoduché sady řádků (implementované CRowset), hromadné sady řádků (implementované CBulkRowset) a pole sady řádků (implementované CArrayRowset).Jednoduché sady řádků zpracovávají načítání jednoduchých řádků, když je voláno MoveNext.Hromadné sady řádků mohou zpracovávat načítání několika řádků.Pole sady řádků jsou sady řádků, které mohou být přístupné pomocí syntaxe pole.
Následující obrázek ukazuje typy sady řádků.
Třídy sady řádků
Schéma sady řádků nepřistupuje k datům v úložišti dat, ale místo toho přistupuje k informacím o úložišti dat, nazývaným metadata.Schéma sady řádků se obvykle používá v situacích, ve kterých není databázová struktura v době kompilace známá a musí být získána za běhu.