Sdílet prostřednictvím


Třída CDaoQueryDef

Představuje definici dotazu nebo "querydef", obvykle jeden uložené v databázi.

class CDaoQueryDef : public CObject

Členy

Veřejné konstruktory

Název

Description

CDaoQueryDef::CDaoQueryDef

Konstrukce CDaoQueryDef objektu.Další volání otevřených nebo vytvořitv závislosti na vašich potřebách.

Veřejné metody

Název

Description

CDaoQueryDef::Append

Připojí querydef kolekci QueryDefs v databázi jako uložený dotaz.

CDaoQueryDef::CanUpdate

Nenulová hodnota, pokud databázi aktualizovat dotaz vrátí.

CDaoQueryDef::Close

Zavře objektu querydef.Zničení objektu C++ po dokončení ji.

CDaoQueryDef::Create

Vytvoří základní querydef objekt DAO.Použít jako dočasné dotazu nebo volání querydef Append uložit do databáze.

CDaoQueryDef::Execute

Spustí dotaz definice objektu querydef.

CDaoQueryDef::GetConnect

Vrátí řetězec připojení přidružený querydef.Připojovací řetězec Určuje zdroj dat.(U předávacích dotazů SQL jinak prázdný řetězec.)

CDaoQueryDef::GetDateCreated

Vrátí datum, kdy byl vytvořen uložený dotaz.

CDaoQueryDef::GetDateLastUpdated

Vrátí datum poslední aktualizace uložený dotaz.

CDaoQueryDef::GetFieldCount

Vrátí počet polí querydef definovány.

CDaoQueryDef::GetFieldInfo

Vrátí informace o zadané pole definované v dotazu.

CDaoQueryDef::GetName

Vrátí název querydef.

CDaoQueryDef::GetODBCTimeout

Vrátí hodnotu časového limitu (pro dotaz ODBC) používá ODBC querydef při spuštění.Pro dokončení akce dotazu určuje jak dlouho.

CDaoQueryDef::GetParameterCount

Vrátí počet parametrů definovaných pro dotaz.

CDaoQueryDef::GetParameterInfo

Vrátí informace o zadaný parametr dotazu.

CDaoQueryDef::GetParamValue

Vrátí hodnotu zadaného parametru dotazu.

CDaoQueryDef::GetRecordsAffected

Vrátí počet záznamů, které jsou ovlivněny akčního dotazu.

CDaoQueryDef::GetReturnsRecords

Vrátí nenulová hodnota, pokud je definována querydef dotaz vrací záznamy.

CDaoQueryDef::GetSQL

Vrátí řetězec SQL určující dotaz querydef definovány.

CDaoQueryDef::GetType

Vrátí typ dotazu: odstranit, aktualizovat, přidávací, vytvářecí a tak dále.

CDaoQueryDef::IsOpen

Pokud querydef otevřené a mohou být provedeny vrátí nenulovou.

CDaoQueryDef::Open

Otevře stávající querydef uloženou ve sbírce QueryDefs v databázi.

CDaoQueryDef::SetConnect

Nastaví řetězec připojení pro předávací dotaz SQL na zdroj dat ODBC.

CDaoQueryDef::SetName

Nastaví název uloženého dotazu, nahrazení název používán při vytvoření querydef.

CDaoQueryDef::SetODBCTimeout

Nastaví hodnotu časového limitu (pro dotaz ODBC) používá ODBC querydef při spuštění.

CDaoQueryDef::SetParamValue

Nastaví hodnotu zadaný parametr dotazu.

CDaoQueryDef::SetReturnsRecords

Určuje, zda querydef vrátí záznamy.Nastavení tohoto atributu na TRUE je platné pouze pro předávací dotazy SQL.

CDaoQueryDef::SetSQL

Nastaví řetězec SQL určující dotaz querydef definovány.

Veřejné datové členy

Název

Description

CDaoQueryDef::m_pDAOQueryDef

Ukazatele na rozhraní OLE pro základní querydef objekt DAO.

CDaoQueryDef::m_pDatabase

Ukazatel CDaoDatabase objektu, ke kterému je přidružen querydef.Querydef je uložen v databázi či nikoli.

Poznámky

Querydef je datový objekt, který obsahuje příkaz SQL, který popisuje dotazu a jeho vlastnosti, například "Datum vytvoření" a "ODBC časový limit." Můžete také vytvořit dočasné querydef objekty bez uložení, ale je vhodné – a mnohem efektivnější – uložit běžně opakovaně dotazů v databázi.A CDaoDatabase objektu udržuje kolekci nazývá kolekce QueryDefs, obsahující jeho uložené querydefs.

[!POZNÁMKA]

Databáze třídy DAO jsou odlišné od třídami databází MFC založené na připojení ODBC (Open Database).Všechny názvy tříd DAO databáze mají předponu "CDao".Můžete stále přístup ke zdrojům dat ODBC s třídami DAO.Obecně jsou schopné více než tříd MFC ODBC na základě tříd MFC založené na knihovně DAO třídy DAO základě přístup k datům prostřednictvím ovladačů ODBC prostřednictvím vlastní databázový stroj.Třídy DAO systémem podporují také jazyk definice dat (DDL) operací, jako je přidávání tabulek pomocí tříd, aniž by bylo nutné volat přímo DAO.

Použití

Querydef objekty použijte buď pro práci s existujícími uložili dotaz nebo vytvořit nový dotaz nebo dotaz pro dočasné uložení:

  1. Ve všech případech nejprve vytvořit CDaoQueryDef objektu dodávající ukazatel CDaoDatabase objekt, ke které patří dotazu.

  2. Proveďte podle toho, co chcete:

    • Použít existující uložili dotaz, volání objektu querydef otevřených funkci člen, poskytující název uloženého dotazu.

    • Vytvořit nový uložený dotaz, volání objektu querydef vytvořit funkci člen, poskytující název dotazu.Potom voláním Append dotaz uložte připojením do kolekce QueryDefs v databázi.Vytvořit querydef přepne do stavu otevřít tak po volací vytvořit nelze volat otevřete.

    • Vytvořit dočasné querydef, volání vytvořit.Předáte název dotazu prázdný řetězec.Nevolejte Append.

Po dokončení práce objektu querydef volat jeho Zavřít členské funkce; potom zničení objektu querydef.

Tip

Nejsnadnější způsob vytvoření uložené dotazy je vytvořit a uložit je v databázi pomocí aplikace Microsoft Access.Potom můžete otevřít a jejich použití v kódu MFC.

Účely

Pomocí objektu querydef pro některý z těchto účelů:

  • Vytvoření CDaoRecordset objekt

  • Volání objektu spouštět členské funkce přímo spustit akční dotaz nebo předávací dotaz SQL

Použít pro libovolný typ dotazu, včetně vybrat, akce, křížový, odstranění, aktualizace objektu querydef, přidávací, vytvářecí, definice dat, předávací SQL, unie a hromadně dotazy.Obsah příkazu SQL, je určen typ dotazu.Informace o typech dotazů naleznete spouštět a GetType funkce členů.Sady záznamů, které se běžně používají pro vracející řádek dotazy, obvykle jsou pomocí vyberte... Z klíčová slova.Spustit se nejčastěji používá pro hromadné operace.Další informace naleznete v tématu spouštět a CDaoRecordset.

Querydefs a sady záznamů

Použít k vytvoření objektu querydef CDaoRecordset objektu, obvykle vytvořit nebo otevřít querydef výše popsaným způsobem.Potom sestavit objektu recordset, prochází ukazatel do objektu querydef při volání CDaoRecordset::Open.Querydef, kterou předáte musí být v otevřeném stavu.Další informace viz třída CDaoRecordset.

Querydef nelze použít k vytvoření sady záznamů (nejčastěji pro querydef) není v otevřeném stavu.Do querydef otevřeném stavu buď voláním otevřete nebo vytvořit.

Externích databází

Jsou objekty QueryDef upřednostňovaný způsob použití nativní SQL dialektu externí databázového stroje.Můžete například vytvořit Transact SQL dotazu (jak se používá na Microsoft SQL Server) a uložit do objektu querydef.Pokud potřebujete použít dotaz SQL nejsou založeny na databázovém stroji Microsoft Jet, je nutné zadat připojovací řetězec, který odkazuje na externí zdroj dat.Dotazy s řetězci platné připojení obejít databázový stroj a předat dotaz přímo na externím databázovém serveru pro zpracování.

Tip

Preferovaný způsob práce s tabulkami ODBC je připojte je databázový stroj Microsoft Jet (.Databáze MDB).

Související informace naleznete v tématech "Objektu QueryDef", "QueryDefs kolekce" a "CdbDatabase objekt" v sadě SDK DAO.

Hierarchii dědičnosti

CObject

CDaoQueryDef

Požadavky

Záhlaví: afxdao.h

Viz také

Referenční dokumentace

Třída CObject

Graf hierarchie

Třída CDaoRecordset

Třída CDaoDatabase

Třída CDaoTableDef

Třída CDaoException