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.
Hinweis 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. dropHinweis 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.Tipp 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