Struktura CDaoIndexInfo
CDaoIndexInfo Struktury zawiera informacje dotyczące obiektu indeksu dla obiektów data access objects (DAO).
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
};
Parametry
m_strName
Unikatowej nazwy obiektu pola.Szczegółowe informacje zobacz temat "Właściwość Name" w pomocy DAO.m_pFieldInfos
Wskaźnik do tablicy CDaoIndexFieldInfo obiektów wskazujące, które zreplikowany lub zestawu rekordów pola są polami klucza do indeksu.Każdy obiekt identyfikuje jedno pole w indeksie.Indeks domyślnej kolejności jest rosnąco.Obiekt indeksu może mieć jeden lub więcej pól kluczy indeksu dla każdego rekordu.Można te rosnąco, malejąco, lub kombinację.m_nFields
Liczba pól przechowywane w m_pFieldInfos.m_bPrimary
Jeśli właściwość podstawowy jest TRUE, obiekt indeksu reprezentuje indeks podstawowy.Indeks podstawowy składa się z jednego lub więcej pól, które jednoznacznie identyfikują wszystkie rekordy w tabeli w kolejności wstępnie zdefiniowane.Ponieważ pole indeksu musi być unikatowa, unikatowe właściwości obiektu indeksu również jest ustawiona TRUE w DAO.Jeśli indeks podstawowy składa się z więcej niż jednego pola, każde pole może zawierać zduplikowane wartości, ale każda kombinacja wartości z pól indeksowanych musi być unikatowa.Indeks podstawowy składa się z klucza w tabeli i zazwyczaj zawiera takie same pola jako klucz podstawowy.Po ustawieniu klucza podstawowego w tabeli klucza podstawowego automatycznie jest definiowane jako podstawowego indeks dla tabeli.Aby uzyskać więcej informacji zobacz tematy "Podstawowe właściwości" i "unikatowy" w pomocy DAO.
[!UWAGA]
Może istnieć, co najwyżej jeden indeks podstawowy dla tabeli.
m_bUnique
Wskazuje, czy obiekt indeksu reprezentuje unikatowy indeks dla tabeli.Jeśli ta właściwość jest TRUE, obiekt indeksu reprezentuje unikatowy indeks.Indeks unikatowy składa się z jednego lub więcej pól, które logicznie zorganizować wszystkie rekordy w tabeli w kolejności unikatowe, wstępnie zdefiniowane.Jeśli indeks składa się z jednego pola, wartości w tym polu musi być unikatowy dla całej tabeli.Jeśli indeks składa się z więcej niż jednego pola, każde pole może zawierać zduplikowane wartości, ale każda kombinacja wartości z pól indeksowanych musi być unikatowa.Jeśli zarówno unikatowych i podstawowe właściwości obiektu index TRUE, indeks jest unikatowy i podstawowego: unikatowo identyfikuje wszystkie rekordy w tabeli w kolejności wstępnie zdefiniowane, logiczne.Jeśli podstawowy właściwość jest ustawiona na FALSE, indeks jest indeksem pomocniczego.Indeksów pomocniczych (klucza i nonkey) logicznie zorganizować rekordy w kolejności wstępnie zdefiniowane bez służącej jako identyfikator dla rekordów w tabeli.
Aby uzyskać więcej informacji zobacz tematy "Podstawowe właściwości" i "unikatowy" w pomocy DAO.
m_bClustered
Wskazuje, czy obiekt indeksu reprezentuje indeksu klastrowanego dla tabeli.Jeśli ta właściwość jest TRUE, obiekt indeksu reprezentuje indeks klastrowany; w przeciwnym razie nie.Indeks klastrowany składa się z jednego lub więcej nonkey pól, które, wzięte razem, Rozmieść wszystkie rekordy w tabeli w kolejności wstępnie zdefiniowane.W indeksie klastrowanym dane w tabeli dosłownie jest przechowywane w kolejności określonej przez indeks klastrowany.Indeks klastrowany zapewnia wydajny dostęp do rekordów w tabeli.Aby uzyskać więcej informacji zobacz temat "Klastrowane właściwości" w pomocy DAO.[!UWAGA]
Właściwości Clustered jest ignorowany dla baz danych, które korzystają z aparatu bazy danych Microsoft Jet ponieważ aparat bazy danych Jet nie obsługuje indeksy klastrowane.
m_bIgnoreNulls
Wskazuje, czy istnieją pozycje indeksu dla rekordów zawierających wartości Null w ich pola indeksu.Jeśli ta właściwość jest TRUE, pola z wartościami Null mają wpisu indeksu.Aby wyszukiwanie rekordów przy użyciu pola szybciej, można zdefiniować indeksu dla pola.Jeśli wpisy wartości Null w indeksowanym polu Zezwalaj i oczekiwać, że wiele wpisów na wartość Null, można ustawić właściwości IgnoreNulls na indeks obiektu TRUE Aby zmniejszyć ilość miejsca do magazynowania, który korzysta z indeksu.Ustawienie właściwości IgnoreNulls i ustawienie właściwości wymagane wspólnie ustalić, czy rekord o wartości Null indeksu ma wpisu indeksu, w poniższej tabeli.IgnoreNulls
Wymagane
NULL w polu Indeks
PRAWDA
FAŁSZ
Wartość NULL, dozwolone; nie dodaje wpis indeksu.
FAŁSZ
FAŁSZ
Wartość NULL, dozwolone; dodaje wpis indeksu.
Wartość PRAWDA lub FAŁSZ
PRAWDA
Wartość NULL nie są dozwolone; nie dodaje wpis indeksu.
Aby uzyskać więcej informacji zobacz temat "Właściwości IgnoreNulls" w pomocy DAO.
m_bRequired
Wskazuje, czy indeks obiektu DAO wymaga wartość niezerową.Jeśli ta właściwość jest TRUE, obiekt indeksu nie zezwala na wartości Null.Aby uzyskać więcej informacji zobacz temat "Wymagana właściwość" w pomocy DAO.Porada Kiedy można ustawić tej właściwości dla obiektu DAO indeksu lub obiektu pola (zawartych przez zreplikowany, zestaw rekordów lub obiektu querydef), ustawić dla obiektu pola.Ważność ustawienie właściwości obiektu pole jest sprawdzane przed nim obiekt indeksu.
m_bForeign
Wskazuje, czy obiekt indeksu reprezentuje klucza obcego w tabeli.Jeśli ta właściwość jest TRUE, indeks przedstawia klucza obcego w tabeli.Klucz obcy składa się z jednego lub więcej pól w tabeli obcej, które jednoznacznie identyfikują wiersze w tabeli podstawowej.Aparat bazy danych Microsoft Jet tworzy indeks dla tabeli obcej i ustawia właściwość obcego, podczas tworzenia relacji, która wymusza więzy integralności.Aby uzyskać więcej informacji zobacz temat "Właściwość obcych" w pomocy DAO.m_lDistinctCount
Wskazuje liczbę unikatowych wartości dla obiektu indeksu, uwzględnionych w tabelach.Sprawdź właściwości DistinctCount, aby ustalić liczbę unikatowych wartości lub kluczy do indeksu.Dowolny klawisz zaliczana jest tylko raz, nawet jeśli może być wiele wystąpień tej wartości indeksu zezwala na zduplikowane wartości.Informacje te są przydatne w aplikacji, które optymalizacji dostępu do danych poprzez ocenę informacji indeksu.Liczba unikatowych wartości, jest nazywana Kardynalność obiekt indeksu.Właściwość DistinctCount nie będzie zawsze odzwierciedlają rzeczywistą liczbę klawiszy w określonym czasie.Na przykład zmiany spowodowane przez transakcji nie znajdzie się bezpośrednio we właściwości DistinctCount.Aby uzyskać więcej informacji zobacz temat "Właściwość DistinctCount" w pomocy DAO.
Uwagi
Odniesienia do podstawowego, średniego i wszystkie powyższe wskazuje, w jaki sposób informacje zwracane przez GetIndexInfo funkcji składowej klasy CDaoTableDef i CDaoRecordset.
Indeks obiektów nie są reprezentowane przez klasy MFC.Zamiast tego DAO obiekty obiektów klasy MFC CDaoTableDef lub CDaoRecordset zawiera zbiór obiektów indeksu, o nazwie kolekcji indeksów.Klasy te dostarcza funkcji dostęp do poszczególnych elementów indeksu informacji lub uzyskać dostęp ich wszystkich naraz z CDaoIndexInfo obiektu, wywołując GetIndexInfo funkcji składowej obiektu zawierającego.
CDaoIndexInfokonstruktora i destruktora w celu poprawnie przydzielić i deallocate informacji pole indeksu w m_pFieldInfos.
Informacje pobierane przez GetIndexInfo funkcji składowej obiektu zreplikowany są przechowywane w CDaoIndexInfo struktury.Wywołanie GetIndexInfo funkcji składowej obiektu zawierającego zreplikowany, w których kolekcji indeksów jest przechowywany obiekt indeksu.CDaoIndexInfodefiniuje również Dump buduje funkcji składowej w debugowania.Można użyć Dump do zrzutu zawartość CDaoIndexInfo obiektu.
Wymagania
Nagłówek: afxdao.h