Freigeben über


CDaoIndexInfo-Struktur

Die CDaoIndexInfo-Struktur enthält Informationen über ein Indexobjekt, das für Datenzugriffsobjekte (DAO) definiert ist.

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
}; 

Parameter

  • m_strName
    Eindeutig Namen der Feldobjekt.Ausführliche Informationen finden Sie im Thema "Name-Eigenschaft" in der DAO-Hilfe.

  • m_pFieldInfos
    Ein Zeiger auf ein Array von CDaoIndexFieldInfo-Objekt, das angebens Tabledef oder Recordset Feldern Schlüsselfelder in einem Index befinden.Jedes Objekt identifiziert ein Feld im Index.Die standardmäßige Indexreihenfolge ist aufsteigend.Das Indexobjekt kann ein oder mehrere Felder verfügen, die Indexschlüssel für jeden Datensatz darstellen.Dabei kann es sich um aufsteigend, unten oder eine Kombination sein.

  • m_nFields
    Die Anzahl von Feldern in m_pFieldInfos.

  • m_bPrimary
    Wenn die primäre Eigenschaft TRUE ist, stellt das Indexobjekt einen Primärindex dar.Ein Primärindex besteht aus einem oder mehreren Feldern, die eindeutig alle Datensätze in einer Tabelle in einer vordefinierten Reihenfolge identifizieren.Da das Feld Index eindeutig sein muss, wird die Unique-Eigenschaft des Indexobjekts TRUE auch in DAO festgelegt.Wenn der Primärindex aus mehr als einem Feld besteht, kann jedes Feld doppelte Werte enthalten, aber jede Kombination von Werten aller indizierten Feldern muss eindeutig sein.Ein Primärindex besteht aus einem Schlüssel für die Tabelle und enthält in der Regel die gleichen Felder wie der Primärschlüssel.

    Wenn Sie einen Primärschlüssel für eine Tabelle, Primärindex der automatisch als Primärschlüssel für die Tabelle definiert wurden.Weitere Informationen finden Sie in den Themen "wichtigste Eigenschaft" und "Unique-Eigenschaft" in der DAO-Hilfe.

    HinweisHinweis

    Es kann höchstens einen Primärindex für eine Tabelle sein.

  • m_bUnique
    Gibt an, ob ein Indexobjekt einen eindeutigen Index für eine Tabelle darstellt.Wenn diese Eigenschaft TRUE ist, stellt das Indexobjekt eines Indexes dar, der eindeutig ist.Ein eindeutiger Index besteht aus einem oder mehreren Feldern, die logisch alle Datensätze in einer Tabelle in einer eindeutigen, vordefinierten Reihenfolge zu sortieren.Wenn der Index aus einem Feld besteht darin, dass Werte Feld für die gesamte Tabelle eindeutig sein muss.Wenn der Index aus mehr als einem Feld besteht, kann jedes Feld doppelte Werte enthalten, aber jede Kombination von Werten aller indizierten Feldern muss eindeutig sein.

    Wenn die eindeutigen und primären Eigenschaften eines Indexobjekts zu TRUE festgelegt sind, ist der Index eindeutig und primär: Er identifiziert eindeutig alle Datensätze in der Tabelle in einer vordefinierten, logischen Reihenfolge.Wenn die primäre Eigenschaft auf FALSE festgelegt ist, ist der Index ein alternativer Schlüssel.Alternative Schlüssel verschlüsselt und sowohl (Nichtschlüssel), weisen einen logischen Datensätzen in einer vordefinierten Reihenfolge, ohne dass als Bezeichner für Datensätze in der Tabelle zu dienen.

    Weitere Informationen finden Sie in den Themen "wichtigste Eigenschaft" und "Unique-Eigenschaft" in der DAO-Hilfe.

  • m_bClustered
    Gibt an, ob ein Indexobjekt einen gruppierten Index für eine Tabelle darstellt.Wenn diese Eigenschaft TRUE ist, stellt das Indexobjekt einen gruppierten Index dar. Andernfalls führt er nicht.Ein gruppierter Index besteht aus einem oder mehreren Feldern Name-Wert-Paare, die zusammen alle Datensätze in einer Tabelle in einer vordefinierten Reihenfolge zu sortieren.Bei einem gruppierten Index werden die Daten in der Tabelle als Literalzeichen in der Reihenfolge gespeichert, die vom gruppierten Index angegeben wird.Ein gruppierter Index bietet effiziente Akteneinsicht in einer Tabelle.Weitere Informationen finden Sie im Thema "Eigenschaft" in der DAO-Hilfe. drop

    HinweisHinweis

    Die gruppierten Eigenschaft wird ignoriert, für Datenbanken, die das Microsoft Jet-Datenbankmodul verwenden, da das Jet-Datenbank-Modul nicht gruppierte Indizes unterstützt.

  • m_bIgnoreNulls
    Gibt an, ob die Indexeinträge für Datensätze vorhanden sind, die NULL-Werte auf ihren Feldern Index verfügen.Wenn diese Eigenschaft TRUE ist, haben keinen Indexeintrag Felder mit NULL-Werten.Um für Datensätze mithilfe eines Felds schneller finden werden, können Sie einen Index für das Feld definiert werden.Wenn Sie Einträge für einen indizierte Feld NULL zulassen und zahlreiche Einträge davon ausgehen, dass NULL ist, können Sie die IgnoreNulls-Eigenschaft für das Indexobjekt zu TRUE festlegen, um den Platz Speicherplatz zu reduzieren, den der Index verwendet.Die IgnoreNulls-Eigenschafteneinstellung und die benötigte Eigenschaft bestimmen, ob ein Datensatz mit einem NULL- Indexwert einen Indexeintrag sind, wie in der folgenden Tabelle dargestellt.

    IgnoreNulls

    Erforderlich

    NULL für das Feld Index

    True

    False

    NULL-Wert zulässig. kein Indexeintrag hinzugefügt.

    False

    False

    NULL-Wert zulässig. Indexeintrag hinzugefügt.

    True oder False

    True

    NULL-Wert ist nicht zulässig. kein Indexeintrag hinzugefügt.

    Weitere Informationen finden Sie im Thema "IgnoreNulls-Eigenschaft" in der DAO-Hilfe.

  • m_bRequired
    Gibt an, ob ein DAO-Indexobjekt erfordert einen Wert ungleich null.Wenn diese Eigenschaft TRUE ist, ermöglicht das Indexobjekt keinen NULL-Wert.Weitere Informationen finden Sie im Thema "erforderliche Eigenschaft" in der DAO-Hilfe.

    TippTipp

    Wenn Sie diese Eigenschaft für ein Objekt oder ein Feld DAO-Indexobjekt festlegen können (in Tabledef, ein Recordset oder ein Querydef-Objekt), legen Sie es für das Feld - Objekt fest.Die Gültigkeit der Eigenschafteneinstellung für ein Feldobjekt wurde zuvor validiert, das von einem Indexobjekt.

  • m_bForeign
    Gibt an, ob ein Indexobjekt einen Fremdschlüssel in einer Tabelle darstellt.Wenn diese Eigenschaft TRUE ist, wird der Index einen Fremdschlüssel in einer Tabelle dar.Ein Fremdschlüssel besteht aus einem oder mehreren Feldern in einer fremden Tabelle, die eindeutig eine Zeile in einer primären Tabelle identifizieren.Das Microsoft Jet-Datenbankmodul erstellt ein Indexobjekt der fremden Tabelle und legt die fremde Eigenschaft fest, wenn Sie eine Beziehung erstellen, das die referenzielle Integrität erzwungen werden soll.Weitere Informationen finden Sie im Thema "fremde Eigenschaft" in der DAO-Hilfe.

  • m_lDistinctCount
    Gibt die Anzahl von eindeutigen Werten für das Indexobjekt angezeigt, die in der zugehörigen Tabelle enthalten sind.Überprüfen Sie die DistinctCount-Eigenschaft, um die Anzahl der eindeutigen Schlüsseln oder Werten in einem Index zu bestimmen.Jede Taste wird nur einmal gezählt, auch wenn es möglicherweise mehrere Vorkommen dieses Werts wird, wenn der Index doppelte Werte zulässt.Diese Informationen sind in Anwendungen nützlich, die versuchen, den Datenzugriff zu optimieren, indem sie Index Informationen ergeben.Die Anzahl von eindeutigen Werten ist auch die Kardinalität des Indexobjekts.Die DistinctCount-Eigenschaft nicht immer gibt die tatsächliche Anzahl von Schlüsseln in einer bestimmten Zeit.Beispielsweise wird eine Änderung, die durch ein Transaktionsrollback verursacht wird, nicht sofort in der DistinctCount-Eigenschaft wiedergegeben.Weitere Informationen finden Sie im Thema "DistinctCount-Eigenschaft" in der DAO-Hilfe.

Hinweise

Die Verweise auf primärem und sekundärem, werden alle oben zeigen an, wie die Informationen über die GetIndexInfo-Memberfunktion in Klassen und CDaoTableDefCDaoRecordset zurückgegeben werden.

Indexobjekte werden nicht durch eine MFC-Klasse dargestellt.Stattdessen enthalten zugrunde liegende MFC Objekte DAO-Objekte der Klasse oder CDaoTableDefCDaoRecordset eine Auflistung, die so genannte Indexobjekte Auflistung von Indizes.Diese Klassen stellen Memberfunktionen, um einzelne Elemente aus Index Informationen zuzugreifen, oder Sie können sie mit einem CDaoIndexInfo-Objekt in einem gleichzeitig zugreifen, indem Sie die GetIndexInfo-Memberfunktion des Containerobjekts aufrufen.

CDaoIndexInfo verfügt über einen Konstruktor und einen Destruktor, um die Informationen in m_pFieldInfos Feld Index korrekt zuzuordnen und freizugeben.

Die Informationen, die von der GetIndexInfo-Memberfunktion eines Tabledef-Objekts abgerufen werden, werden in einer CDaoIndexInfo-Struktur gespeichert.Rufen Sie die GetIndexInfo-Memberfunktion des enthaltenden Tabledef-Objekts an, in dem die Auflistung von Indizes Indexobjekt gespeichert wird.CDaoIndexInfo definiert auch eine Dump-Memberfunktion in Debugbuilds.Sie können Dump verwenden, um den Inhalt eines CDaoIndexInfo-Objekts zu speichern.

Anforderungen

Header: afxdao.h

Siehe auch

Referenz

CDaoTableDef::GetIndexInfo

Weitere Ressourcen

Strukturen, Formate, Rückrufe und Meldungszuordnungen