Megosztás a következőn keresztül:


CDaoQueryDef osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Egy lekérdezésdefiníciót vagy "querydef"-t jelöl, amely általában egy adatbázisban mentett.

Megjegyzés:

Az Adatelérési objektum (DAO) az Office 2013-on keresztül támogatott. A DAO 3.6 a végleges verzió, és elavult.

Szemantika

class CDaoQueryDef : public CObject

Tagok

Nyilvános konstruktorok

Név Description
CDaoQueryDef::CDaoQueryDef Egy CDaoQueryDef objektumot hoz létre. Következő hívás Open vagy Create, az igényeitől függően.

Nyilvános metódusok

Név Description
CDaoQueryDef::Append Mentett lekérdezésként hozzáfűzi a lekérdezést az adatbázis QueryDefs-gyűjteményéhez.
CDaoQueryDef::CanUpdate Nonzero értéket ad vissza, ha a lekérdezés képes frissíteni az adatbázist.
CDaoQueryDef::Close Bezárja a querydef objektumot. A C++ objektum megsemmisítése, amikor befejezi.
CDaoQueryDef::Létrehozás Létrehozza a mögöttes DAO querydef objektumot. Használja a lekérdezésdefet ideiglenes lekérdezésként, vagy hívja meg Append , hogy mentse az adatbázisban.
CDaoQueryDef::Execute Végrehajtja a querydef objektum által definiált lekérdezést.
CDaoQueryDef::GetConnect A lekérdezésdefhez társított kapcsolati sztringet adja vissza. A kapcsolati sztring azonosítja az adatforrást. (Csak SQL-átmenő lekérdezések esetén; egyébként üres sztring.)
CDaoQueryDef::GetDateCreated A mentett lekérdezés létrehozásának dátumát adja vissza.
CDaoQueryDef::GetDateLastUpdated A mentett lekérdezés utolsó frissítésének dátumát adja vissza.
CDaoQueryDef::GetFieldCount A lekérdezésdef által definiált mezők számát adja vissza.
CDaoQueryDef::GetFieldInfo A lekérdezésben definiált adott mező adatait adja vissza.
CDaoQueryDef::GetName A lekérdezésdef nevét adja vissza.
CDaoQueryDef::GetODBCTimeout Az ODBC által (ODBC-lekérdezéshez) használt időtúllépési értéket adja vissza a lekérdezés végrehajtásakor, amely meghatározza, hogy mennyi ideig tart a lekérdezés műveletének végrehajtása.
CDaoQueryDef::GetParameterCount A lekérdezéshez definiált paraméterek számát adja vissza.
CDaoQueryDef::GetParameterInfo Egy adott paraméter adatait adja vissza a lekérdezésnek.
CDaoQueryDef::GetParamValue Egy megadott paraméter értékét adja vissza a lekérdezésnek.
CDaoQueryDef::GetRecordsAffected A műveleti lekérdezés által érintett rekordok számát adja vissza.
CDaoQueryDef::GetReturnsRecords Nonzero értéket ad vissza, ha a lekérdezés által definiált lekérdezés rekordokat ad vissza.
CDaoQueryDef::GetSQL A lekérdezésdefiniált lekérdezést meghatározó SQL-sztringet adja vissza.
CDaoQueryDef::GetType A lekérdezés típusát adja vissza: törlés, frissítés, hozzáfűzés, tábla készítése stb.
CDaoQueryDef::IsOpen Nonzero értéket ad vissza, ha a lekérdezésief meg van nyitva, és végrehajtható.
CDaoQueryDef::Megnyitás Megnyitja az adatbázis QueryDefs gyűjteményében tárolt meglévő lekérdezésdefet.
CDaoQueryDef::SetConnect Beállítja egy ODBC-adatforrás sql-átmenő lekérdezésének kapcsolati sztringét.
CDaoQueryDef::SetName Beállítja a mentett lekérdezés nevét, és lecseréli a lekérdezésdefinió létrehozásakor használt nevet.
CDaoQueryDef::SetODBCTimeout Beállítja az ODBC által (ODBC-lekérdezéshez) használt időtúllépési értéket a lekérdezés végrehajtásakor.
CDaoQueryDef::SetParamValue Egy megadott paraméter értékét a lekérdezésre állítja.
CDaoQueryDef::SetReturnsRecords Megadja, hogy a lekérdezési érték rekordokat ad-e vissza. Az attribútum IGAZ értékre állítása csak az SQL-átmenő lekérdezésekre érvényes.
CDaoQueryDef::SetSQL Beállítja a lekérdezésdefiniált lekérdezést meghatározó SQL-sztringet.

Nyilvános adatok tagjai

Név Description
CDaoQueryDef::m_pDAOQueryDef Mutató az alapul szolgáló DAO querydef objektum OLE felületére.
CDaoQueryDef::m_pDatabase Mutató arra az CDaoDatabase objektumra, amelyhez a querydef társítva van. Előfordulhat, hogy a lekérdezésfájl az adatbázisban van mentve, vagy nem.

Megjegyzések

A querydef egy adatelérési objektum, amely tartalmazza a lekérdezést leíró SQL-utasítást és tulajdonságait, például a "Létrehozás dátuma" és az "ODBC időtúllépés". Ideiglenes lekérdezési objektumokat is létrehozhat mentés nélkül, de kényelmes – és sokkal hatékonyabb – a gyakran újrahasznált lekérdezések mentése az adatbázisban. A CDaoDatabase objektum egy QueryDefs gyűjtemény nevű gyűjteményt tart fenn, amely tartalmazza a mentett lekérdezésiefeket.

Megjegyzés:

A DAO-adatbázisosztályok különböznek a Microsoft Foundation Class (MFC) adatbázisosztályoktól az Open Database Connectivity (ODBC) alapján. Minden DAO-adatbázisosztály neve rendelkezik a "CDao" előtaggal. A DAO-osztályokkal továbbra is elérheti az ODBC-adatforrásokat. Általánosságban elmondható, hogy a DAO-n alapuló MFC-osztályok jobban képesek, mint az ODBC-n alapuló MFC-osztályok; a DAO-alapú osztályok saját adatbázismotorjukon keresztül férhetnek hozzá az adatokhoz, beleértve az ODBC-illesztőprogramokat is. A DAO-alapú osztályok az adatdefiníciós nyelvi (DDL) műveleteket is támogatják, például táblákat adhatnak hozzá az osztályokon keresztül anélkül, hogy közvetlenül kellene meghívniuk a DAO-t.

Usage

A querydef objektumokkal dolgozhat meglévő mentett lekérdezéssel, vagy új mentett lekérdezést vagy ideiglenes lekérdezést hozhat létre:

  1. Minden esetben először hozzon létre egy CDaoQueryDef objektumot, és adjon meg egy mutatót annak a CDaoDatabase objektumnak, amelyhez a lekérdezés tartozik.

  2. Ezután tegye a következőket a kívánttól függően:

    • Meglévő mentett lekérdezés használatához hívja meg a querydef objektum Open member függvényét, és adja meg a mentett lekérdezés nevét.

    • Új mentett lekérdezés létrehozásához hívja meg a querydef objektum Tag létrehozása függvényét, és adja meg a lekérdezés nevét. Ezután hívja meg a Hozzáfűzést a lekérdezés mentéséhez az adatbázis QueryDefs-gyűjteményéhez való hozzáfűzésével. Create a lekérdezésief nyitott állapotba kerül, így a hívás Create után nem fog meghívni Open.

    • Ideiglenes lekérdezés létrehozásához hívja meg a (z) parancsot Create. Adjon át egy üres sztringet a lekérdezés nevének. Ne hívjon Append.

Amikor befejezi a lekérdezésdef objektum használatát, hívja meg annak Tagság bezárása függvényét; majd megsemmisíti a querydef objektumot.

Jótanács

A mentett lekérdezések létrehozásának legegyszerűbb módja a lekérdezések létrehozása és tárolása az adatbázisban a Microsoft Access használatával. Ezután megnyithatja és használhatja őket az MFC-kódban.

Célok

A querydef objektumot az alábbi célok bármelyikére használhatja:

  • Objektum létrehozása CDaoRecordset

  • Az objektum tagfüggvényének meghívása Execute műveleti lekérdezés vagy SQL-átmenő lekérdezés közvetlen végrehajtásához

Lekérdezési objektumot bármilyen típusú lekérdezéshez használhat, beleértve a kiválasztást, a műveletet, a kereszttáblát, a törlést, a frissítést, a hozzáfűzést, a tábla készítését, az adatdefiníciót, az SQL-továbbítást, az egyesítő és a tömeges lekérdezéseket. A megadott SQL-utasítás tartalma határozza meg a lekérdezés típusát. A lekérdezéstípusokkal kapcsolatos információkért tekintse meg a tagfüggvényeket és GetType a Execute tagfüggvényeket. A rekordhalmazokat gyakran használják sorvisszaküldött lekérdezésekhez, általában a SELECT ... FROM kulcsszavak. Execute leggyakrabban tömeges műveletekhez használják. További információ: Execute és CDaoRecordset.

Lekérdezések és rekordhalmazok

Ha egy querydef objektumot szeretne használni egy CDaoRecordset objektum létrehozásához, általában a korábban ismertetett módon hozhat létre vagy nyithat meg egy lekérdezést. Ezután hozzon létre egy rekordhalmaz-objektumot, amely egy mutatót ad át a lekérdezésdefiniált objektumnak híváskor CDaoRecordset::Open. A megadott lekérdezési azonosítónak nyitott állapotban kell lennie. További információt az osztályban CDaoRecordsettalál.

A lekérdezésdef nem használható rekordkészletek létrehozására (a lekérdezésdef leggyakoribb használatára), kivéve, ha az nyitott állapotban van. A lekérdezési parancsot egy nyitott állapotba helyezheti a hívással vagy OpenCreatea .

Külső adatbázisok

A querydef-objektumok a külső adatbázismotor natív SQL-dialektusának használatát részesítik előnyben. Létrehozhat például egy Transact SQL-lekérdezést (a Microsoft SQL Serveren használt módon), és tárolhatja egy lekérdezési objektumban. Ha nem a Microsoft Jet adatbázismotoron alapuló SQL-lekérdezést kell használnia, meg kell adnia egy kapcsolati sztringet, amely a külső adatforrásra mutat. Az érvényes kapcsolati sztringekkel rendelkező lekérdezések megkerülik az adatbázismotort, és közvetlenül a külső adatbázis-kiszolgálónak adják át a lekérdezést feldolgozás céljából.

Jótanács

Az ODBC-táblákkal való munka előnyben részesített módja, ha egy Microsoft Jethez csatolja őket (. MDB-adatbázis.

A kapcsolódó információkért tekintse meg a DAO SDK "QueryDef Object", "QueryDefs Collection" és "CdbDatabase Object" témaköreit.

Öröklési hierarchia

CObject

CDaoQueryDef

Requirements

Fejléc:afxdao.h

CDaoQueryDef::Append

Hívja meg ezt a tagfüggvényt, miután meghívta a Létrehozás parancsot egy új lekérdezésdef objektum létrehozásához.

virtual void Append();

Megjegyzések

Append A lekérdezésdef az adatbázisba mentéséhez fűzi hozzá az objektumot az adatbázis QueryDefs-gyűjteményéhez. A lekérdezésdefinió ideiglenes objektumként használható hozzáfűzés nélkül, de ha azt szeretné, hogy megmaradjon, hívnia Appendkell.

Ha ideiglenes lekérdezésdef objektumot próbál hozzáfűzni, az MFC kivételt vet ki a CDaoException típusból.

CDaoQueryDef::CanUpdate

Hívja meg ezt a tagfüggvényt annak meghatározásához, hogy módosíthatja-e a lekérdezést – például módosíthatja a nevét vagy az SQL-sztringet.

BOOL CanUpdate();

Visszaadott érték

Nonzero, ha módosíthatja a lekérdezésdef; egyéb esetben 0.

Megjegyzések

Módosíthatja a lekérdezésdef függvényt, ha:

  • Nem írásvédett adatbázison alapul.

  • Rendelkezik frissítési engedélyekkel az adatbázishoz.

    Ez attól függ, hogy implementált-e biztonsági funkciókat. Az MFC nem nyújt támogatást a biztonsághoz; a dao-t közvetlenül vagy a Microsoft Access használatával kell implementálnia. Tekintse meg az "Engedélyek tulajdonsága" témakört a DAO súgójában.

CDaoQueryDef::CDaoQueryDef

Egy CDaoQueryDef objektumot hoz létre.

CDaoQueryDef(CDaoDatabase* pDatabase);

Paraméterek

pDatabase
Egy megnyitott CDaoDatabase-objektumra mutató mutató.

Megjegyzések

Az objektum az adatbázis QueryDefs gyűjteményében tárolt meglévő lekérdezésdefet, a gyűjteményben tárolni kívánt új lekérdezést vagy egy ideiglenes lekérdezést jelölhet, amely nem tárolható. A következő lépés a lekérdezés típusától függ:

  • Ha az objektum egy meglévő lekérdezésdefet jelöl, inicializáláshoz hívja meg az objektum Open member függvényét.

  • Ha az objektum egy menteni kívánt új lekérdezési objektumot jelöl, hívja meg az objektum Tag létrehozása függvényét. Ez hozzáadja az objektumot az adatbázis QueryDefs-gyűjteményéhez. Ezután hívja meg CDaoQueryDef a tagfüggvényeket az objektum attribútumainak beállításához. Végül hívja meg a Hozzáfűzőt.

  • Ha az objektum egy ideiglenes lekérdezésdef (nem menthető az adatbázisban), hívja Createmeg, és adjon át egy üres sztringet a lekérdezés nevének. A hívás Createután inicializálja a lekérdezésdefet az attribútumainak közvetlen beállításával. Ne hívjon Append.

A lekérdezésdef attribútumainak beállításához használhatja a SetName, a SetSQL, a SetConnect, a SetODBCTimeout és a SetReturnsRecords tagfüggvényeket.

Amikor befejezi a querydef objektumot, hívja meg annak Tagság bezárása függvényét. Ha mutatója van a lekérdezésdefhez, az delete operátorral megsemmisítheti a C++ objektumot.

CDaoQueryDef::Close

Hívja meg ezt a tagfüggvényt, amikor befejezi a querydef objektum használatát.

virtual void Close();

Megjegyzések

A lekérdezésdef bezárása felszabadítja a mögöttes DAO-objektumot, de nem pusztítja el a mentett DAO querydef objektumot vagy a C++ CDaoQueryDef objektumot. Ez nem ugyanaz, mint a CDaoDatabase::D eleteQueryDef, amely törli a lekérdezésdefet az adatbázis QueryDefs gyűjteményéből a DAO-ban (ha nem ideiglenes lekérdezésief).

CDaoQueryDef::Létrehozás

Hívja meg ezt a tagfüggvényt egy új mentett vagy egy új ideiglenes lekérdezés létrehozásához.

virtual void Create(
    LPCTSTR lpszName = NULL,
    LPCTSTR lpszSQL = NULL);

Paraméterek

lpszName
Az adatbázisban mentett lekérdezés egyedi neve. A sztringgel kapcsolatos részletekért tekintse meg a DAO súgójának "CreateQueryDef metódus" című témakörét. Ha elfogadja az alapértelmezett értéket, egy üres sztringet, létrejön egy ideiglenes lekérdezés. Az ilyen lekérdezések nem kerülnek a QueryDefs gyűjteménybe.

lpszSQL
A lekérdezést meghatározó SQL-sztring. Ha elfogadja a NULL alapértelmezett értékét, később meg kell hívnia a SetSQL-t a sztring beállításához. Addig a lekérdezés nincs meghatározva. A nem definiált lekérdezéssel azonban megnyithat egy rekordhalmazt; részletekért lásd: Megjegyzések. Az SQL-utasítást meg kell határozni, mielőtt hozzáfűzheti a lekérdezést a QueryDefs-gyűjteményhez.

Megjegyzések

Ha egy nevet ad át az lpszName fájlban, meghívhatja a Hozzáfűzőt , hogy mentse a lekérdezésdefet az adatbázis QueryDefs-gyűjteményében. Ellenkező esetben az objektum egy ideiglenes lekérdezési objektum, és nincs mentve. Mindkét esetben a lekérdezésdef nyitott állapotban van, és használhatja CDaoRecordset objektum létrehozására, vagy meghívhatja a querydef Végrehajtási tagfüggvényét.

Ha nem ad meg SQL-utasítást az lpszSQL-ben, nem futtathatja a lekérdezést Execute , de létrehozhat egy rekordhalmazt. Ebben az esetben az MFC a rekordhalmaz alapértelmezett SQL-utasítását használja.

CDaoQueryDef::Execute

Hívja meg ezt a tagfüggvényt a querydef objektum által definiált lekérdezés futtatásához.

virtual void Execute(int nOptions = dbFailOnError);

Paraméterek

nOptions
A lekérdezés jellemzőit meghatározó egész szám. A kapcsolódó információkért tekintse meg a DAO súgójának "Metódus végrehajtása" című témakörét. A bitenkénti VAGY operátorral (|) kombinálhatja az alábbi állandókat ehhez az argumentumhoz:

  • dbDenyWrite Más felhasználók írási engedélyének megtagadása.

  • dbInconsistent Inkonzisztens frissítések.

  • dbConsistent Konzisztens frissítések.

  • dbSQLPassThrough SQL-továbbítás. Az SQL-utasítást át kell adni egy ODBC-adatbázisnak feldolgozás céljából.

  • dbFailOnError Alapértelmezett érték. Ha hiba történik, visszaállítja a frissítéseket, és jelentse a hibát a felhasználónak.

  • dbSeeChanges Futásidejű hiba keletkezik, ha egy másik felhasználó módosítja a szerkesztett adatokat.

Megjegyzés:

Az "inkonzisztens" és a "konzisztens" kifejezések magyarázatát a DAO súgójának "Metódus végrehajtása" című témakörében talál.

Megjegyzések

Az ilyen módon történő végrehajtáshoz használt querydef objektumok csak az alábbi lekérdezéstípusok egyikét jelölhetik:

  • Műveleti lekérdezések

  • SQL-továbbítási lekérdezések

Execute nem működik a rekordokat visszaadó lekérdezéseknél, például a lekérdezések kiválasztásánál. Execute gyakran használják tömeges műveleti lekérdezésekhez, például UPDATE, INSERT vagy SELECT INTO, vagy adatdefiníciós nyelvi (DDL) műveletekhez.

Jótanács

Az ODBC-adatforrásokkal való munka elsődleges módja, ha táblákat csatol egy Microsoft Jethez (. MDB-adatbázis. További információ: "Külső adatbázisok elérése DAO-val" című témakör a DAO súgójában.

Hívja meg a querydef objektum GetRecordsAffected tagfüggvényét a legutóbbi Execute hívás által érintett rekordok számának meghatározásához. Például GetRecordsAffected a művelet lekérdezés végrehajtásakor törölt, frissített vagy beszúrt rekordok számáról ad vissza információt. A visszaadott szám nem tükrözi a kapcsolódó táblák változásait, ha kaszkádolt frissítések vagy törlések lépnek érvénybe.

Ha mindkettőt dbInconsistent tartalmazza, vagy dbConsistent ha egyiket sem, akkor az eredmény az alapértelmezett érték. dbInconsistent

Execute nem ad vissza rekordhalmazt. A rekordokat választó lekérdezések használatával Execute az MFC kivételt okoz a CDaoException típusból.

CDaoQueryDef::GetConnect

Hívja meg ezt a tagfüggvényt a lekérdezés adatforrásához társított kapcsolati sztring lekéréséhez.

CString GetConnect();

Visszaadott érték

A CString lekérdezésdef kapcsolati sztringje.

Megjegyzések

Ez a függvény csak ODBC-adatforrásokhoz és bizonyos ISAM-illesztőprogramokhoz használható. A Microsoft Jet (.MDB) adatbázisai nem használják, GetConnect ebben az esetben egy üres sztringet ad vissza. További információért lásd SetConnect.

Jótanács

Az ODBC-táblákkal való munka előnyben részesített módja, ha csatolja őket egy . MDB-adatbázis. További információ: "Külső adatbázisok elérése DAO-val" című témakör a DAO súgójában.

A kapcsolati sztringekről a DAO súgójának "Kapcsolattulajdonság csatlakoztatása" című témakörében olvashat.

CDaoQueryDef::GetDateCreated

Hívja meg ezt a tagfüggvényt a querydef objektum létrehozásának dátumának lekéréséhez.

COleDateTime GetDateCreated();

Visszaadott érték

Egy COleDateTime objektum, amely a lekérdezésdef létrehozásának dátumát és időpontját tartalmazza.

Megjegyzések

A kapcsolódó információkért tekintse meg a DAO súgójának "DateCreated, LastUpdated Properties" (DateCreated, LastUpdated Properties) című témakörét.

CDaoQueryDef::GetDateLastUpdated

Hívja meg ezt a tagfüggvényt a querydef objektum legutóbbi frissítésének dátumához – amikor a tulajdonsága módosult, például a nevét, az SQL-sztringjét vagy a kapcsolati sztringjét.

COleDateTime GetDateLastUpdated();

Visszaadott érték

Egy COleDateTime objektum, amely azt a dátumot és időpontot tartalmazza, amikor a lekérdezést utoljára frissítették.

Megjegyzések

A kapcsolódó információkért tekintse meg a DAO súgójának "DateCreated, LastUpdated Properties" (DateCreated, LastUpdated Properties) című témakörét.

CDaoQueryDef::GetFieldCount

Hívja meg ezt a tagfüggvényt a lekérdezés mezőinek számának lekéréséhez.

short GetFieldCount();

Visszaadott érték

A lekérdezésben definiált mezők száma.

Megjegyzések

GetFieldCount a lekérdezésdef összes mezőjén keresztüli ciklusok esetében hasznos. Erre a célra használja GetFieldCount a következővel GetFieldInfo: .

CDaoQueryDef::GetFieldInfo

Hívja meg ezt a tagfüggvényt a lekérdezésdefben definiált mező különféle információinak lekéréséhez.

void GetFieldInfo(
    int nIndex,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetFieldInfo(
    LPCTSTR lpszName,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Paraméterek

nIndex
A lekérdezésdefinió Mezők gyűjteményében található kívánt mező nullaalapú indexe index szerinti kereséshez.

fieldinfo
Hivatkozás egy CDaoFieldInfo objektumra, amely a kért adatokat adja vissza.

dwInfoOptions
A beolvasandó mezőre vonatkozó információkat meghatározó beállítások. A rendelkezésre álló lehetőségeket itt találja, valamint azt is, hogy mi okozza a függvény visszatérését:

  • AFX_DAO_PRIMARY_INFO (alapértelmezett) név, típus, méret, attribútumok

  • AFX_DAO_SECONDARY_INFO elsődleges információk plusz: Sorszám, Kötelező, Nulla hosszúság engedélyezése, Forrásmező, Idegen név, Forrástábla, Rendezési sorrend

  • AFX_DAO_ALL_INFO elsődleges és másodlagos információk, valamint: alapértelmezett érték, érvényesítési szöveg, érvényesítési szabály

lpszName
A kívánt mező nevét tartalmazó sztring a név szerinti kereséshez. Használhatja a CString.

Megjegyzések

A fieldinfo-ban visszaadott információk leírását a CDaoFieldInfo struktúrájában talál. Ennek a struktúrának olyan tagjai vannak, amelyek megfelelnek a dwInfoOptions fenti leíró információinak . Ha egy szintnyi információt kér, akkor a korábbi információszinteket is megkapja.

CDaoQueryDef::GetName

Hívja meg ezt a tagfüggvényt a lekérdezés által képviselt lekérdezés nevének lekéréséhez.

CString GetName();

Visszaadott érték

A lekérdezés neve.

Megjegyzések

A querydef nevek egyedi, felhasználó által definiált nevek. A lekérdezési nevekről további információt a DAO súgójának "Névtulajdonság" című témakörében talál.

CDaoQueryDef::GetODBCTimeout

Hívja meg ezt a tagfüggvényt, hogy lekérje az aktuális időkorlátot, mielőtt egy ODBC-adatforrás lekérdezése túllépi az időkorlátot.

short GetODBCTimeout();

Visszaadott érték

A lekérdezés időtúllépése előtti másodpercek száma.

Megjegyzések

Erről az időkorlátról a DAO súgójának "ODBCTimeout tulajdonsága" című témakörében olvashat.

Jótanács

Az ODBC-táblákkal való munka előnyben részesített módja, ha egy Microsoft Jethez csatolja őket (. MDB-adatbázis. További információ: "Külső adatbázisok elérése DAO-val" című témakör a DAO súgójában.

CDaoQueryDef::GetParameterCount

Hívja meg ezt a tagfüggvényt a mentett lekérdezésben található paraméterek számának lekéréséhez.

short GetParameterCount();

Visszaadott érték

A lekérdezésben definiált paraméterek száma.

Megjegyzések

GetParameterCount a lekérdezésief összes paraméterének hurkolására használható. Erre a célra használja GetParameterCount a következővel GetParameterInfo: .

A kapcsolódó információkért tekintse meg a DAO súgójának "Parameter Object", "Parameters Collection" és "PARAMETERS Deklaráció (SQL)" témaköreit.

CDaoQueryDef::GetParameterInfo

Hívja meg ezt a tagfüggvényt a lekérdezésdefben definiált paraméter adatainak lekéréséhez.

void GetParameterInfo(
    int nIndex,
    CDaoParameterInfo& paraminfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetParameterInfo(
    LPCTSTR lpszName,
    CDaoParameterInfo& paraminfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Paraméterek

nIndex
A kívánt paraméter nulla alapú indexe a querydef Paramétergyűjteményében az index szerinti kereséshez.

paraminfo
Hivatkozás egy CDaoParameterInfo objektumra, amely a kért adatokat adja vissza.

dwInfoOptions
A beolvasandó paraméterre vonatkozó információkat meghatározó beállítások. A rendelkezésre álló lehetőség itt látható, valamint azt is, hogy mi okozza a függvény visszatérését:

  • AFX_DAO_PRIMARY_INFO (Alapértelmezett) Név, típus

lpszName
A kívánt paraméter nevét tartalmazó sztring a név szerinti kereséshez. Használhatja a CString.

Megjegyzések

A visszaadott paraminfoinformációk leírását a CDaoParameterInfo struktúra tartalmazza. Ennek a struktúrának olyan tagjai vannak, amelyek megfelelnek a fenti leíró információknak dwInfoOptions .

A kapcsolódó információkért tekintse meg a "PARAMETERS Deklaráció (SQL)" témakört a DAO súgójában.

CDaoQueryDef::GetParamValue

Hívja meg ezt a tagfüggvényt a lekérdezésdef Paramétergyűjteményében tárolt megadott paraméter aktuális értékének lekéréséhez.

virtual COleVariant GetParamValue(LPCTSTR lpszName);
virtual COleVariant GetParamValue(int nIndex);

Paraméterek

lpszName
Annak a paraméternek a neve, amelynek az értékét meg szeretné keresni név alapján.

nIndex
A paraméter nulla alapú indexe a querydef Paramétergyűjteményében az index szerinti kereséshez. Ezt az értéket a GetParameterCount és a GetParameterInfo hívásaival szerezheti be.

Visszaadott érték

A paraméter értékét tartalmazó COleVariant osztály objektuma.

Megjegyzések

A paramétert név vagy a gyűjteményben elfoglalt sorszáma alapján érheti el.

A kapcsolódó információkért tekintse meg a "PARAMETERS Deklaráció (SQL)" témakört a DAO súgójában.

CDaoQueryDef::GetRecordsAffected

Hívja meg ezt a tagfüggvényt annak meghatározásához, hogy hány rekordot érint a végrehajtás utolsó hívása.

long GetRecordsAffected();

Visszaadott érték

Az érintett rekordok száma.

Megjegyzések

A visszaadott szám nem tükrözi a kapcsolódó táblák változásait, ha kaszkádolt frissítések vagy törlések lépnek érvénybe.

A kapcsolódó információkért tekintse meg a DAO súgójának "RecordsAffected tulajdonság" című témakörét.

CDaoQueryDef::GetReturnsRecords

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a lekérdezés egy rekordokat visszaadó lekérdezésen alapul-e.

BOOL GetReturnsRecords();

Visszaadott érték

Nem kötelező, ha a lekérdezési adat egy rekordokat visszaadó lekérdezésen alapul; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény csak sql-továbbítási lekérdezésekhez használható. Az SQL-lekérdezésekkel kapcsolatos további információkért lásd a Tagok végrehajtása függvényt. Az SQL-továbbítási lekérdezések használatával kapcsolatos további információkért tekintse meg a SetReturnsRecords tagfüggvényt.

A kapcsolódó információkért tekintse meg a DAO súgójának "ReturnsRecords tulajdonság" című témakörét.

CDaoQueryDef::GetSQL

Hívja meg ezt a tagfüggvényt a lekérdezés alapjául szolgáló lekérdezést meghatározó SQL-utasítás lekéréséhez.

CString GetSQL();

Visszaadott érték

A lekérdezés alapjául szolgáló lekérdezést meghatározó SQL-utasítás.

Megjegyzések

Elemezheti a sztringet a kulcsszavakhoz, a táblanevekhez és így tovább.

A kapcsolódó információkért tekintse meg az "SQL Tulajdonság", a "Microsoft Jet Database Engine SQL és ANSI SQL összehasonlítása" és az "Adatbázis lekérdezése az SQL-vel a Code-ban" című témakört a DAO súgójában.

CDaoQueryDef::GetType

Hívja meg ezt a tagfüggvényt a lekérdezésief lekérdezéstípusának meghatározásához.

short GetType();

Visszaadott érték

A lekérdezés által definiált lekérdezés típusa. Az értékekért lásd a Megjegyzések című témakört.

Megjegyzések

A lekérdezés típusát a lekérdezésdef SQL-sztringjében megadott érték határozza meg a lekérdezésdef létrehozásakor vagy egy meglévő lekérdezésdef SetSQL-tagfüggvényének meghívásakor. A függvény által visszaadott lekérdezéstípus a következő értékek egyike lehet:

  • dbQSelect Válassza ki

  • dbQAction Akció

  • dbQCrosstab Kereszttáblás

  • dbQDelete Töröl

  • dbQUpdate Frissítés

  • dbQAppend Hozzáfűzés

  • dbQMakeTable Tábla készítése

  • dbQDDL Adatdefiníció

  • dbQSQLPassThrough Átadó

  • dbQSetOperation Unió

  • dbQSPTBulk dbQSQLPassThrough Olyan lekérdezés megadására szolgál, amely nem ad vissza rekordokat.

Megjegyzés:

SQL-átmenő lekérdezés létrehozásához ne állítsa be az állandót dbSQLPassThrough . Ezt a Microsoft Jet adatbázismotor automatikusan beállítja, amikor létrehoz egy lekérdezési objektumot, és beállítja a kapcsolati sztringet.

Az SQL-sztringekről további információt a GetSQL-ben talál. A lekérdezéstípusokról további információt az Execute (Végrehajtás) című témakörben talál.

CDaoQueryDef::IsOpen

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy az CDaoQueryDef objektum jelenleg nyitva van-e.

BOOL IsOpen() const;

Visszaadott érték

Nonzero, ha az CDaoQueryDef objektum jelenleg nyitva van, ellenkező esetben 0.

Megjegyzések

Egy lekérdezésnek nyitott állapotban kell lennie, mielőtt meghívja Execute vagy létrehoz egy objektumot CDaoRecordset . Ha egy lekérdezést nyitott állapotba szeretne helyezni, hívja Create meg (új lekérdezésief esetén) vagy Open (meglévő lekérdezésdef esetén).

CDaoQueryDef::m_pDatabase

A querydef objektumhoz társított CDaoDatabase objektumra mutató mutatót tartalmaz.

Megjegyzések

Ezt a mutatót akkor használja, ha közvetlenül hozzá kell férnie az adatbázishoz. Például az adatbázis gyűjteményeiben lévő más lekérdezési vagy rekordhalmaz-objektumokra mutató hivatkozások lekéréséhez.

CDaoQueryDef::m_pDAOQueryDef

A mögöttes DAO querydef objektum OLE felületére mutató mutatót tartalmaz.

Megjegyzések

Ez a mutató a többi osztály teljességét és konzisztenciáját mutatja. Mivel azonban az MFC meglehetősen teljes mértékben beágyazza a DAO-lekérdezéseket, nem valószínű, hogy szüksége lesz rá. Ha mégis használja, óvatosan tegye. Különösen ne módosítsa az egérmutató értékét, hacsak nem tudja, hogy mit csinál.

CDaoQueryDef::Megnyitás

Hívja meg ezt a tagfüggvényt az adatbázis QueryDefs gyűjteményében korábban mentett lekérdezés megnyitásához.

virtual void Open(LPCTSTR lpszName = NULL);

Paraméterek

lpszName
A megnyitni kívánt mentett lekérdezésdef nevét tartalmazó sztring. Használhatja a CString.

Megjegyzések

A lekérdezésdef megnyitása után meghívhatja annak tagfüggvényét Execute , vagy a lekérdezésdef használatával létrehozhat egy objektumot CDaoRecordset .

CDaoQueryDef::SetConnect

Hívja meg ezt a tagfüggvényt a querydef objektum kapcsolati sztringjének beállításához.

void SetConnect(LPCTSTR lpszConnect);

Paraméterek

lpszConnect
A társított CDaoDatabase objektum kapcsolati sztringet tartalmazó sztringje.

Megjegyzések

A kapcsolati sztring további információkat ad át az ODBC-nek és bizonyos ISAM-illesztőprogramoknak, ha szükséges. Microsoft Jet-adatbázisokhoz.MDB nem használható.

Jótanács

Az ODBC-táblákkal való munka előnyben részesített módja, ha csatolja őket egy . MDB-adatbázis.

Mielőtt végrehajtanál egy SQL-átmenő lekérdezést egy ODBC-adatforrásba, állítsd be a kapcsolati sztringet SetConnect , és hívja meg a SetReturnsRecords parancsot , hogy megadják, hogy a lekérdezés rekordokat ad-e vissza.

A kapcsolati sztring szerkezetéről és a kapcsolati sztring összetevőinek példáiról a DAO súgójának "Tulajdonság csatlakoztatása" című témakörében talál további információt.

CDaoQueryDef::SetName

Hívja meg ezt a tagfüggvényt, ha módosítani szeretné a nem ideiglenes lekérdezésdefinió nevét.

void SetName(LPCTSTR lpszName);

Paraméterek

lpszName
Egy sztring, amely egy nem ideiglenes lekérdezés új nevét tartalmazza a társított CDaoDatabase objektumban.

Megjegyzések

A querydef nevek egyedi, felhasználó által definiált nevek. A querydef objektum a QueryDefs gyűjteményhez való hozzáfűzése előtt hívható SetName meg.

CDaoQueryDef::SetODBCTimeout

Hívja meg ezt a tagfüggvényt, hogy állítsa be az odBC-adatforrásra vonatkozó lekérdezések időkorlátját.

void SetODBCTimeout(short nODBCTimeout);

Paraméterek

nODBCTimeout
A lekérdezés időtúllépése előtti másodpercek száma.

Megjegyzések

Ez a tagfüggvény lehetővé teszi az alapértelmezett másodpercek felülbírálását a csatlakoztatott adatforrás "időtúllépés" későbbi műveletei előtt. Egy művelet időtúllépést eredményezhet a hálózati hozzáférési problémák, a lekérdezések túlzott feldolgozási ideje stb. miatt. Ha módosítani szeretné a lekérdezés időtúllépési értékét, hívja SetODBCTimeout meg a lekérdezést, mielőtt ezzel a lekérdezéssel végrehajtja a lekérdezést. (Mivel az ODBC újra felhasználja a kapcsolatokat, az időtúllépési érték ugyanaz az azonos kapcsolaton lévő összes ügyfél esetében.)

A lekérdezési időtúllépések alapértelmezett értéke 60 másodperc.

CDaoQueryDef::SetParamValue

Hívja meg ezt a tagfüggvényt egy paraméter értékének beállításához a lekérdezésiefben futásidőben.

virtual void SetParamValue(
    LPCTSTR lpszName,
    const COleVariant& varValue);

virtual void SetParamValue(
    int nIndex,
    const COleVariant& varValue);

Paraméterek

lpszName
Annak a paraméternek a neve, amelynek értékét be szeretné állítani.

varValue
A beállítandó érték; lásd: Megjegyzések.

nIndex
A paraméter sorszáma a querydef Paramétergyűjteményében. Ezt az értéket a GetParameterCount és a GetParameterInfo hívásaival szerezheti be.

Megjegyzések

A paramétert már létre kell hozni a lekérdezési azonosító SQL-sztringjének részeként. A paramétert név vagy a gyűjteményben elfoglalt sorszáma alapján érheti el.

Adja meg az objektumként COleVariant beállítani kívánt értéket. A kívánt érték beállításával és az COleVariant objektum típusával kapcsolatos információkért lásd a COleVariant osztályt.

CDaoQueryDef::SetReturnsRecords

Ennek a tagfüggvénynek a meghívása az SQL-továbbítási lekérdezés külső adatbázisba történő beállításának részeként.

void SetReturnsRecords(BOOL bReturnsRecords);

Paraméterek

bReturnsRecords
IGAZ értéket ad át, ha egy külső adatbázis lekérdezése rekordokat ad vissza; egyéb esetben HAMIS.

Megjegyzések

Ilyen esetben létre kell hoznia a lekérdezést, és más CDaoQueryDef tagfüggvények használatával kell beállítania a tulajdonságait. A külső adatbázisok leírását lásd: SetConnect.

CDaoQueryDef::SetSQL

Hívja meg ezt a tagfüggvényt a lekérdezés által végrehajtott SQL-utasítás beállításához.

void SetSQL(LPCTSTR lpszSQL);

Paraméterek

lpszSQL
Egy teljes SQL-utasítást tartalmazó sztring, amely alkalmas a végrehajtásra. A sztring szintaxisa attól függ, hogy a lekérdezés melyik ADATBÁZIS-kezelőt célozza meg. A Microsoft Jet adatbázismotorban használt szintaxisról a DAO súgójának "SQL-utasítások létrehozása kódban" című témakörében olvashat.

Megjegyzések

Általában SetSQL egy querydef objektum beállítása sql-átmenő lekérdezésben való használatra. (A cél DBMS-en futó SQL-átmenő lekérdezések szintaxisát a DBMS dokumentációjában találja.)

Lásd még

CObject osztály
hierarchiadiagram
CDaoRecordset osztály
CDaoDatabase osztály
CDaoTableDef osztály
CDaoException osztály