CDaoIndexInfo struktúra

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.

A CDaoIndexInfo struktúra adatokat tartalmaz az adatelérési objektumokhoz (DAO) definiált indexobjektumokról.

Megjegyzés:

A DAO az Office 2013-on keresztül támogatott. A DAO 3.6 a végleges verzió, és elavultnak számít.

Szemantika

struct CDaoIndexInfo {
    CDaoIndexInfo();                    // Constructor
    CString m_strName;                  // Primary
    CDaoIndexFieldInfo* m_pFieldInfos;  // Primary
    short m_nFields;                    // Primary
    BOOL m_bPrimary;                    // Secondary
    BOOL m_bUnique;                     // Secondary
    BOOL m_bClustered;                  // Secondary
    BOOL m_bIgnoreNulls;                // Secondary
    BOOL m_bRequired;                   // Secondary
    BOOL m_bForeign;                    // Secondary
    long m_lDistinctCount;              // All

    // Below the // Implementation comment:
    // Destructor, not otherwise documented
};

Paraméterek

m_strName
Egyedileg nevezze el a mezőobjektumot. További részletekért tekintse meg a DAO súgójának "Névtulajdonság" című témakörét.

m_pFieldInfos
Egy CDaoIndexFieldInfo objektumtömbre mutató mutató, amely jelzi, hogy mely tábla- vagy rekordhalmazmezők az index kulcsmezői. Minden objektum egy mezőt azonosít az indexben. Az alapértelmezett indexrendezés növekvő. Az indexobjektumok egy vagy több mezővel rendelkezhetnek, amelyek az egyes rekordok indexkulcsait jelölik. Ezek lehetnek növekvőek, csökkenők vagy kombinációk.

m_nFields
A tárolt m_pFieldInfosmezők száma.

m_bPrimary
Ha az elsődleges tulajdonság IGAZ, az indexobjektum egy elsődleges indexet jelöl. Az elsődleges index egy vagy több mezőből áll, amelyek egyedileg azonosítják egy tábla összes rekordját egy előre meghatározott sorrendben. Mivel az indexmezőnek egyedinek kell lennie, az Index objektum Egyedi tulajdonsága IS IGAZ értékre van állítva a DAO-ban. Ha az elsődleges index több mezőből áll, minden mező tartalmazhat duplikált értékeket, de az összes indexelt mező értékeinek minden kombinációjának egyedinek kell lennie. Az elsődleges index a tábla kulcsából áll, és általában ugyanazokat a mezőket tartalmazza, mint az elsődleges kulcs.

Amikor egy tábla elsődleges kulcsát állítja be, az elsődleges kulcs automatikusan a tábla elsődleges indexeként lesz definiálva. További információ: "Elsődleges tulajdonság" és "Egyedi tulajdonság" a DAO súgójában.

Megjegyzés:

Legfeljebb egy elsődleges index lehet egy táblán.

m_bUnique
Azt jelzi, hogy egy indexobjektum egy tábla egyedi indexét jelöli-e. Ha ez a tulajdonság IGAZ, az indexobjektum egyedi indexet jelöl. Az egyedi indexek egy vagy több mezőből állnak, amelyek logikailag rendezik a tábla összes rekordját egyedi, előre meghatározott sorrendben. Ha az index egy mezőből áll, a mező értékeinek a teljes táblára vonatkozóan egyedinek kell lenniük. Ha az index több mezőből áll, minden mező tartalmazhat duplikált értékeket, de az összes indexelt mező értékeinek minden kombinációjának egyedinek kell lennie.

Ha egy indexobjektum Egyedi és Elsődleges tulajdonsága egyaránt IGAZ értékre van állítva, az index egyedi és elsődleges: A tábla összes rekordját egyedileg azonosítja előre definiált logikai sorrendben. Ha az elsődleges tulajdonság ÉRTÉKE HAMIS, akkor az index egy másodlagos index. A másodlagos indexek (kulcs és nem kulcs) logikailag előre meghatározott sorrendbe rendezik a rekordokat anélkül, hogy a tábla rekordjainak azonosítójaként szolgálnak.

További információ: "Elsődleges tulajdonság" és "Egyedi tulajdonság" a DAO súgójában.

m_bClustered
Azt jelzi, hogy egy indexobjektum egy tábla fürtözött indexét jelöli-e. Ha ez a tulajdonság IGAZ, az indexobjektum fürtözött indexet jelöl; ellenkező esetben nem. A fürtözött indexek egy vagy több nem kulcsos mezőből állnak, amelyek együttesen előre meghatározott sorrendben rendezik egy tábla összes rekordját. Fürtözött index esetén a tábla adatai a fürtözött index által megadott sorrendben lesznek tárolva. A fürtözött indexek hatékony hozzáférést biztosítanak a táblák rekordjaihoz. További információ: "Csoportosított tulajdonság" a DAO súgójában.

Megjegyzés:

A Fürtözött tulajdonság figyelmen kívül lesz hagyva a Microsoft Jet adatbázismotort használó adatbázisok esetében, mivel a Jet adatbázismotor nem támogatja a fürtözött indexeket.

m_bIgnoreNulls
Azt jelzi, hogy vannak-e olyan indexbejegyzések az indexmezőkben null értékű rekordokhoz. Ha ez a tulajdonság IGAZ, a Null értékű mezők nem rendelkeznek indexbejegyzéssel. Ha gyorsabban szeretne rekordokat keresni egy mező használatával, definiálhat egy indexet a mezőhöz. Ha engedélyezi a null bejegyzéseket egy indexelt mezőben, és sok bejegyzéstől null értéket vár, az indexobjektum IgnoreNulls tulajdonságát TRUE értékre állíthatja, hogy csökkentse az index által használt tárterület mennyiségét. Az IgnoreNulls tulajdonságbeállítás és a Kötelező tulajdonságbeállítás együttesen határozza meg, hogy egy null indexértékkel rendelkező rekord rendelkezik-e indexbejegyzéssel, ahogyan az az alábbi táblázatban látható.

IgnoreNulls Kötelező Null érték az indexmezőben
True Téves Null érték engedélyezett; nincs hozzáadva indexbejegyzés.
Téves Téves Null érték engedélyezett; indexbejegyzés hozzáadva.
Igaz vagy Hamis True Null érték nem engedélyezett; nincs hozzáadva indexbejegyzés.

További információ: "IgnoreNulls Tulajdonság" a DAO súgójában.

m_bRequired
Azt jelzi, hogy egy DAO-indexobjektumhoz nem Null érték szükséges-e. Ha ez a tulajdonság IGAZ, az indexobjektum nem engedélyezi a Null értéket. További információ: "Kötelező tulajdonság" a DAO súgójában.

Jótanács

Ha ezt a tulajdonságot egy DAO-indexobjektumhoz vagy egy mezőobjektumhoz (tábla-, rekordhalmaz- vagy querydef-objektum tartalmazza) is beállíthatja, állítsa be a mezőobjektumhoz. Egy mezőobjektum tulajdonságbeállításának érvényességét az indexobjektum előtt ellenőrzi a rendszer.

m_bForeign
Azt jelzi, hogy egy indexobjektum egy tábla idegen kulcsát jelöli-e. Ha ez a tulajdonság IGAZ, az index egy tábla idegen kulcsát jelöli. Az idegen kulcs egy vagy több olyan mezőből áll egy idegen táblában, amely egyedileg azonosít egy sort egy elsődleges táblában. A Microsoft Jet adatbázismotor létrehoz egy indexobjektumot az idegen táblához, és beállítja az Idegen tulajdonságot, amikor hivatkozási integritást kényszerítő kapcsolatot hoz létre. További információ: "Idegen tulajdonság" a DAO súgójában.

m_lDistinctCount
A társított táblában szereplő indexobjektum egyedi értékeinek számát jelzi. Az indexben lévő egyedi értékek vagy kulcsok számának meghatározásához ellenőrizze a DistinctCount tulajdonságot. A kulcsok csak egyszer vannak megszámolva, annak ellenére, hogy az értéknek több előfordulása is lehet, ha az index engedélyezi az ismétlődő értékeket. Ezek az információk olyan alkalmazásokban hasznosak, amelyek az indexadatok kiértékelésével próbálják optimalizálni az adathozzáférést. Az egyedi értékek számát indexobjektum számosságának is nevezik. A DistinctCount tulajdonság nem mindig tükrözi egy adott időpontban a kulcsok tényleges számát. A tranzakció-visszaállítás által okozott változás például nem jelenik meg azonnal a DistinctCount tulajdonságban. További információ: "DistinctCount tulajdonság" a DAO súgójában.

Megjegyzések

Az elsődleges, a másodlagos és az összes fenti hivatkozás azt jelzi, hogy a CDaoTableDef és a CDaoRecordset osztály tagfüggvénye hogyan adja vissza az GetIndexInfo adatokat.

Az indexobjektumokat nem MFC-osztály jelöli. Ehelyett a CDaoTableDef vagy a CDaoRecordset osztály MFC-objektumai alapjául szolgáló DAO-objektumok indexobjektumok gyűjteményét, úgynevezett Indexes gyűjteményt tartalmaznak. Ezek az osztályok tagfüggvényeket biztosítanak az indexadatok egyes elemeinek eléréséhez, vagy egyszerre egy objektummal CDaoIndexInfo is elérheti őket az GetIndexInfo adott objektum tagfüggvényének meghívásával.

CDaoIndexInfo van egy konstruktor és egy destruktor annak érdekében, hogy megfelelően lefoglalja és felszabadítsa az indexmező adatait a m_pFieldInfos.

A tabledef objektum tagfüggvénye által GetIndexInfo lekért információk egy CDaoIndexInfo struktúrában lesznek tárolva. Hívja meg annak a GetIndexInfo tabledef objektumnak a tagfüggvényét, amelyben az Indexek gyűjtemény az indexobjektumot tárolja. CDaoIndexInfo emellett definiál egy tagfüggvényt Dump a hibakeresési buildekben. Az objektum tartalmának kiírására CDaoIndexInfo is használhatóDump.

Requirements

Fejléc:afxdao.h

Lásd még

Struktúrák, stílusok, visszahívások és üzenettérképek
CDaoTableDef::GetIndexInfo