CDynamicStringAccessor – třída
Umožňuje přístup ke zdroji dat, pokud nemáte žádné znalosti o schématu databáze (základní struktura databáze).
Syntaxe
template< typename BaseType, DBTYPEENUM OleDbType >
class CDynamicStringAccessorT : public CDynamicAccessor
Požadavky
Hlavička: atldbcli.h
Členové
Metody
Název | Popis |
---|---|
GetString | Načte zadaná data sloupce jako řetězec. |
SetString | Nastaví zadaná data sloupce jako řetězec. |
Poznámky
Zatímco CDynamicAccessor požaduje data v nativním formátu hlášeného poskytovatelem, CDynamicStringAccessor
požaduje, aby zprostředkovatel načítal všechna data přístupná z úložiště dat jako řetězcová data. To je užitečné zejména pro jednoduché úlohy, které nevyžadují výpočet hodnot v úložišti dat, například zobrazení nebo tisk obsahu úložiště dat.
Nativní typ dat sloupců v úložišti dat nezáleží; pokud poskytovatel podporuje převod dat, poskytne data ve formátu řetězce. Pokud zprostředkovatel nepodporuje převod z nativního datového typu na řetězec (což není běžné), volání žádosti vrátí hodnotu úspěchu DB_S_ERRORSOCCURED a stav odpovídajícího sloupce bude znamenat problém převodu s DBSTATUS_E_CANTCONVERTVALUE.
K získání informací o sloupci použijte CDynamicStringAccessor
metody. Tyto informace o sloupci slouží k dynamickému vytvoření přístupového objektu za běhu.
Informace o sloupci jsou uloženy ve vyrovnávací paměti vytvořené a spravované touto třídou. Získejte data z vyrovnávací paměti pomocí metody GetString nebo je uložte do vyrovnávací paměti pomocí setString.
Diskuzi a příklady použití tříd dynamického přístupového objektu naleznete v tématu Použití dynamických přístupových objektů.
CDynamicStringAccessor::GetString
Načte zadaná data sloupce jako řetězec.
Syntaxe
BaseType* GetString(DBORDINAL nColumn) const throw();
BaseType* GetString(const CHAR* pColumnName) const throw();
BaseType* GetString(const WCHAR* pColumnName) const throw();
Parametry
nSloupcová
[v] Číslo sloupce. Čísla sloupců začínají číslem 1. Hodnota 0 odkazuje na sloupec záložky( pokud existuje).
pColumnName
[v] Ukazatel na řetězec znaků, který obsahuje název sloupce.
Návratová hodnota
Ukazatel na řetězcovou hodnotu načtenou ze zadaného sloupce. Hodnota je typu BaseType
, která bude ZNAK nebo WCHAR v závislosti na tom, zda _UNICODE je definován, nebo ne. Vrátí hodnotu NULL, pokud zadaný sloupec nebyl nalezen.
Poznámky
Druhý formulář přepsání přebírá název sloupce jako řetězec ANSI. Třetí formulář přepsání přebírá název sloupce jako řetězec Unicode.
CDynamicStringAccessor::SetString
Nastaví zadaná data sloupce jako řetězec.
Syntaxe
HRESULT SetString(DBORDINAL nColumn,
BaseType* data) throw();
HRESULT SetString(const CHAR* pColumnName,
BaseType* data) throw();
HRESULT SetString(const WCHAR* pColumnName,
BaseType* data) throw();
Parametry
nSloupcová
[v] Číslo sloupce. Čísla sloupců začínají číslem 1. Speciální hodnota 0 odkazuje na sloupec záložky( pokud existuje).
pColumnName
[v] Ukazatel na řetězec znaků, který obsahuje název sloupce.
data
[v] Ukazatel na řetězcová data, která se mají zapsat do zadaného sloupce.
Návratová hodnota
Ukazatel na řetězcovou hodnotu, na kterou chcete nastavit zadaný sloupec. Hodnota je typu BaseType
, která bude ZNAK nebo WCHAR v závislosti na tom, zda _UNICODE je definován, nebo ne.
Poznámky
Druhý formulář přepsání přebírá název sloupce jako řetězec ANSI a třetí přepis formulář přebírá název sloupce jako řetězec Unicode.
Pokud je _SECURE_ATL definována tak, aby měla nenulovou hodnotu, vygeneruje se chyba kontrolního výrazu modulu runtime, pokud je vstupní datový řetězec delší než maximální povolená délka odkazovaného sloupce dat. Jinak se vstupní řetězec zkrátí, pokud je delší než maximální povolená délka.
Viz také
Šablony příjemců OLE DB
Referenční dokumentace k šablonám příjemců OLE DB
CAccessor – třída
CDynamicParameterAccessor – třída
CManualAccessor – třída
CDynamicAccessor – třída
CDynamicStringAccessorA – třída
CDynamicStringAccessorW – třída
CXMLAccessor – třída