Sdílet prostřednictvím


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