Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Knihovna MFC (Microsoft Foundation Classes) se nadále podporuje. Už ale nepřidáme funkce ani aktualizujeme dokumentaci.
Podporuje rutiny výměny polí záznamu DAO (DFX) používané databázovými třídami DAO.
Poznámka:
Rozhraní DAO se podporuje prostřednictvím Office 2013. DAO 3.6 je konečná verze a je považována za za zastaralou.
Syntaxe
class CDaoFieldExchange
Členové
Veřejné metody
| Název | Popis |
|---|---|
| CDaoFieldExchange::IsValidOperation | Vrátí nenulové, pokud je aktuální operace vhodná pro typ aktualizovaného pole. |
| CDaoFieldExchange::SetFieldType | Určuje typ datového členu sady záznamů – sloupec nebo parametr – reprezentovaný všemi následnými voláními funkcí DFX do dalšího volání SetFieldType. |
Veřejné datové členy
| Název | Popis |
|---|---|
| CDaoFieldExchange::m_nOperation | Operace DFX prováděná aktuálním voláním členské funkce sady DoFieldExchange záznamů. |
| CDaoFieldExchange::m_prs | Ukazatel na sadu záznamů, na které se provádějí operace DFX. |
Poznámky
CDaoFieldExchange nemá základní třídu.
Tuto třídu použijte, pokud píšete rutiny výměny dat pro vlastní datové typy; jinak tuto třídu nebudete používat přímo. DFX vyměňuje data mezi datovými členy pole vašeho objektu CDaoRecordset a odpovídajícími poli aktuálního záznamu ve zdroji dat. DFX spravuje výměnu v obou směrech od zdroje dat i ke zdroji dat. Informace o psaní vlastních rutin DFX naleznete v technické poznámce 53 .
Poznámka:
Databázové třídy DAO se liší od databázových tříd MFC založených na rozhraní ODBC (Open Database Connectivity). Všechny názvy databázových tříd DAO mají předponu CDao. Stále máte přístup ke zdrojům dat ODBC pomocí tříd DAO. Obecně platí, že třídy MFC založené na rozhraní DAO jsou schopny více než třídy MFC založené na rozhraní ODBC. Třídy založené na rozhraní DAO mají přístup k datům, včetně prostřednictvím ovladačů ODBC, prostřednictvím vlastního databázového stroje. Podporují také operace jazyka DDL (Data Definition Language), například přidávání tabulek prostřednictvím tříd, místo abyste museli volat DAO sami.
Poznámka:
Výměna polí záznamu DAO (DFX) je velmi podobná výměně polí záznamu (RFX) v databázových třídách MFC založených na rozhraní ODBC (CDatabase, CRecordset). Pokud rozumíte dokumentu RFX, můžete snadno používat DFX.
Objekt CDaoFieldExchange poskytuje kontextové informace potřebné pro výměnu polí záznamu DAO.
CDaoFieldExchange objekty podporují řadu operací, včetně parametrů vazby a datových členů polí a nastavení různých příznaků u polí aktuálního záznamu. Operace DFX se provádějí u datových členů třídy záznamů definovaných typem enumFieldType v CDaoFieldExchange. Možné hodnoty FieldType jsou:
CDaoFieldExchange::outputColumnpro datové členy pole.CDaoFieldExchange::parampro datové členy parametrů.
Členová funkce IsValidOperation je poskytována pro psaní vlastních rutin DFX. SetFieldType budete často používat ve svých funkcích CDaoRecordset::D oFieldExchange. Podrobnosti o globálních funkcích DFX najdete v tématu Funkce výměny polí záznamu. Informace o psaní vlastních rutin DFX pro vlastní datové typy naleznete v technické poznámce 53.
Hierarchie dědičnosti
CDaoFieldExchange
Požadavky
Záhlaví:afxdao.h
CDaoFieldExchange::IsValidOperation
Pokud napíšete vlastní funkci DFX, zavolejte IsValidOperation na začátku funkce, abyste zjistili, jestli je možné aktuální operaci provést u konkrétního datového typu pole (a CDaoFieldExchange::outputColumn nebo a CDaoFieldExchange::param).
BOOL IsValidOperation();
Návratová hodnota
Nenulové, pokud je aktuální operace vhodná pro typ pole, které se aktualizuje.
Poznámky
Některé operace prováděné mechanismem DFX se vztahují pouze na jeden z možných typů polí. Postupujte podle modelu existujících funkcí DFX.
Další informace o psaní vlastních rutin DFX naleznete v technické poznámce 53.
CDaoFieldExchange::m_nOperation
Identifikuje operaci, která se má provést u objektu CDaoRecordset přidruženého k objektu výměny polí.
Poznámky
Objekt CDaoFieldExchange poskytuje kontext pro řadu různých operací DFX v sadě záznamů.
Poznámka:
Hodnota PSEUDONULL popsaná v MarkForAddNew následujících operacích SetFieldNull je hodnota použitá k označení polí Null. Mechanismus výměny polí záznamu DAO (DFX) používá tuto hodnotu k určení, která pole byla explicitně označena null.
PSEUDONULL není vyžadováno pro COleDateTime pole a COleCurrency pole.
Možné hodnoty m_nOperation :
| Operace | Popis |
|---|---|
AddToParameterList |
Vytvoří klauzuli PARAMETERS příkazu SQL. |
AddToSelectList |
Vytvoří klauzuli SELECT příkazu SQL. |
BindField |
Vytvoří vazbu pole v databázi na umístění paměti ve vaší aplikaci. |
BindParam |
Nastaví hodnoty parametrů pro dotaz sady záznamů. |
Fixup |
Nastaví stav Null pro pole. |
AllocCache |
Přidělí mezipaměť použitou ke kontrole "nezašpiněných" polí v sadě záznamů. |
StoreField |
Uloží aktuální záznam do mezipaměti. |
LoadField |
Obnoví proměnné člena dat v mezipaměti v sadě záznamů. |
FreeCache |
Uvolní mezipaměť použitou ke kontrole "nezašpiněných" polí v sadě záznamů. |
SetFieldNull |
Nastaví stav pole na hodnotu Null a hodnotu na PSEUDONULL. |
MarkForAddNew |
Označí pole "dirty", pokud ne PSEUDONULL. |
MarkForEdit |
Označí pole "špinavá", pokud neodpovídají mezipaměti. |
SetDirtyField |
Nastaví hodnoty polí označené jako "špinavé". |
DumpField |
Vypíše obsah pole (pouze ladění). |
MaxDFXOperation |
Používá se pro kontrolu vstupu. |
CDaoFieldExchange::m_prs
Obsahuje ukazatel na CDaoRecordset objekt přidružený k objektu CDaoFieldExchange .
Poznámky
CDaoFieldExchange::SetFieldType
Volání SetFieldType v přepsání předmětu CDaoRecordsetDoFieldExchange
void SetFieldType(UINT nFieldType);
Parametry
nFieldType
Hodnota výčtu FieldType deklarovaná v CDaoFieldExchange, která může být některou z následujících:
CDaoFieldExchange::outputColumnCDaoFieldExchange::param
Poznámky
TřídaWizard za normálních okolností píše toto volání za vás. Pokud píšete vlastní funkci a k zápisu funkce DoFieldExchange používáte průvodce, přidejte volání do vlastní funkce mimo mapu polí. Pokud průvodce nepoužíváte, nebude k dispozici mapa polí. Volání předchází volání funkcí DFX, jedno pro každý datový člen pole třídy a identifikuje typ pole jako CDaoFieldExchange::outputColumn.
Pokud parametrizujete třídu sady záznamů, měli byste přidat volání DFX pro všechny členy dat parametrů (mimo mapu pole) a před tyto volání zavolat SetFieldType. Předejte hodnotu CDaoFieldExchange::param. (Místo toho můžete použít CDaoQueryDef a nastavení hodnot parametrů.)
Obecně platí, že každá skupina volání funkce DFX přidružená k datovým členům pole nebo datovým členům parametrů musí předcházet voláním SetFieldType. Parametr nFieldType každého SetFieldType volání identifikuje typ datových členů reprezentovaných voláními funkce DFX, které následují za voláním SetFieldType .