Struktura CDaoIndexInfo ma następującą postać:
struct {CDaoIndexInfo}
nbsp; CDaoIndexInfo (); / / Konstruktora
CString m_str&Name; / / Podstawowy
CDaoIndexFieldInfo * m_pFieldInfos; / / Podstawowy
krótkie m_nFields; / / Podstawowy
BOOL m_bPrimary; / / Pomocnicze
BOOL m_bUnique; / / Pomocnicze
BOOL m_bClustered; / / Pomocnicze
BOOL m_bIgnoreNulls; / / Pomocnicze
BOOL m_bRequired; / / Pomocnicze
BOOL m_bForeign; / / Pomocnicze
długi m_lDistinctCount; / / All
/ / Poniżej / / comment wdrażania:
/ / Destruktor, niewymienione udokumentowane
}
Struktura CDaoIndexInfo zawiera informacje dotyczące obiektu indeksu określone dla obiektów data access objects (DAO). Odniesienia do podstawowego, średniego i wszystkie powyższe wskazuje, jak informacje są zwracane przez funkcję Państwa GetIndexInfo klasy CDaoTableDef i CDaoRecordset.
Indeks obiektów nie są reprezentowane przez klasy MFC. Zamiast tego obiektów DAO, leżących u podstaw MFC obiektów klasy CDaoTableDef lub CDaoRecordset zawiera zbiór obiektów indeksu, o nazwie kolekcji indeksów. Klasy te dostarczają funkcje składowe dostęp do poszczególnych elementów informacji indeksu lub dostęp można uzyskać je wszystkie na raz z obiektem CDaoIndexInfo przez wywołanie funkcji członek GetIndexInfo obiektu zawierającego.
CDaoIndexInfo posiada konstruktor i destruktor, aby poprawnie przydzielić i cofnąć indeksu informacji z pola w m_pFieldInfos.
Członkowie
m_strName
Jednoznacznie nazw obiektu field. Aby uzyskać szczegółowe informacje zobacz temat "Właściwość Name" w pomocy programu DAO.
m_pFieldInfos
Wskaźnik tablicę obiektów CDaoIndexFieldInfo , wskazując, które zreplikowany lub zestawu rekordów pola są polami klucza do indeksu. Każdy obiekt identyfikuje jedno pole w indeksie. Kolejność Indeks domyślnej jest Rosnąco. Obiekt indeksu mogą mieć jedno lub więcej pól reprezentujących kluczy indeksu dla każdego rekordu. Te mogą być rosnącej, malejącej, lub kombinację.
m_nFields
Numer pola, przechowywanych w m_pFieldInfos.
m_bPrimary
Jeśli podstawowy właściwość ma wartość TRUE, obiekt indeksu reprezentuje podstawowego indeksu. Indeks podstawowy składa się z jednego lub kilku pól, które jednoznacznie identyfikują wszystkie rekordy w tabeli w wstępnie zdefiniowanej kolejności. Ponieważ pole indeksu musi być unikatowa, unikatowe właściwości obiektu indeks jest również ustawiona do Prawda w DAO. Jeżeli wskaźnik 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 kluczem dla tabeli i zazwyczaj zawiera takie same pola jako klucz podstawowy.
Ustawienie 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"Unikatowe właściwości"w pomocy programu DAO.
Uwaga Może istnieć, co najwyżej jeden podstawowy indeksu na tabeli.
m_bUnique
Wskazuje, czy obiekt indeksu reprezentuje unikatowy indeks dla tabeli. Jeśli ta właściwość ma wartość TRUE, obiekt indeksu reprezentuje indeks, który jest unikatowy. Indeks nieunikatowy składający się z jednego lub kilku pól, które logicznie zorganizować wszystkie rekordy w tabeli w kolejności unikatowe, wstępnie zdefiniowanych. 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 unikatowych i podstawowe właściwości obiektu indeksu są ustawione na wartość TRUE, indeks jest unikatowy i podstawowego: unikatowo identyfikuje wszystkie rekordy w tabeli w kolejności wstępnie zdefiniowanych, logiczne. Jeśli właściwość podstawowy jest ustawiona na wartość FALSE, indeks jest pomocniczy indeksu. Indeksów pomocniczych (zarówno klucz, jak i nonkey) logicznie zorganizować rekordy w wstępnie zdefiniowanej kolejności bez służąc jako identyfikator rekordów w tabeli.
Aby uzyskać więcej informacji zobacz tematy „podstawowe właściwości"i"Unikatowe właściwości"w pomocy programu DAO.
m_bClustered
Wskazuje, czy obiekt indeksu reprezentuje indeksu klastrowanego dla tabeli. Jeśli ta właściwość ma wartość TRUE, obiekt indeksu reprezentuje indeks klastrowany; w przeciwnym razie nie 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 wstępnie zdefiniowanej kolejności. W indeksie klastrowanym dane w tabeli znajduje się dosłownie 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łasność" w pomocy programu DAO.
Uwaga Właściwości Clustered jest ignorowany dla baz danych, które używają 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, które mają wartości Null w polach indeksu. Jeśli ta właściwość ma wartość TRUE, pól zawierających wartości Null nie wpisu indeksu. Aby wyszukiwanie rekordów przy użyciu pola szybciej, można określić indeks w polu. Jeśli pozwalają wpisów o wartościach Null w indeksowanym polu i oczekiwać, że wiele zapisów, które mają być Null, należy ustawić właściwość IgnoreNulls dla obiektu indeksu do Prawda aby zmniejszyć ilość miejsca, który korzysta z indeksu. Ustawienie właściwości IgnoreNulls oraz ustawienia wymagane właściwości wspólnie ustalić, czy rekord z wartością indeksu Null ma wpisu indeksu w poniższej tabeli.
| IgnoreNulls | Wymagane | Brak w polu index |
| PRAWDA | FAŁSZ | Wartość null, dozwolone; nie dodania wpisu indeksu. |
| FAŁSZ | FAŁSZ | Wartość null, dozwolone; dodania wpisu indeksu. |
| Wartość PRAWDA lub FAŁSZ | PRAWDA | Wartość Null nie są dozwolone; nie dodania wpisu indeksu. |
Aby uzyskać więcej informacji zobacz temat „właściwości IgnoreNulls"w pomocy DAO.
m_bRequired
Wskazuje, czy obiekt indeksu DAO wymaga wartości inne niż Null.Jeśli ta właściwość ma wartość TRUE, obiekt indeksu nie zezwala na wartość Null. Aby uzyskać więcej informacji zobacz temat „wymagane właściwości"w pomocy DAO.
Porada Kiedy można ustawić tej właściwości dla obiektu DAO lub obiekt field (zawartych przez zreplikowany, zestawu rekordów lub obiektu querydef), ustawić dla obiektu field. Ważność ustawienie właściwości dla obiektu pola jest sprawdzana przed tą obiektu indeksu.
m_bForeign
Wskazuje, czy obiekt indeksu reprezentuje klucza obcego w tabeli. Jeśli ta właściwość ma wartość TRUE, wskaźnik reprezentuje 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 obiekt indeks dla tabeli obcej i ustawia właściwość obcego, podczas tworzenia relacji są wymuszane więzy integralności. Aby uzyskać więcej informacji zobacz temat "Obcy właściwości" w pomocy programu DAO.
m_lDistinctCount
Wskazuje liczbę unikatowych wartości dla obiektu indeksu, które znajdują się w tabeli skojarzone. Sprawdź właściwości DistinctCount w celu określenia liczby unikatowych wartości lub klucze do indeksu. Dowolny klawisz liczy się tylko raz, nawet jeśli może być wiele wystąpień tej wartości, jeśli wskaźnik zezwala na zduplikowane wartości. Informacje te są przydatne w aplikacji, które w celu zoptymalizowania dostępu do danych przez ocenę informacje o indeksach. Liczba unikatowych wartości jest również znany jako relacja obiektu indeksu. Właściwość DistinctCount nie zawsze odzwierciedlają rzeczywistą liczbę klawiszy w określonym czasie. Na przykład spowodowane przez transakcji nie jest odzwierciedlana bezpośrednio we właściwości DistinctCount. Aby uzyskać więcej informacji zobacz temat „DistinctCount właściwości"w pomocy programu DAO.
Komentarze
Informacje pobierane przez funkcję Państwa GetIndexInfo obiektu zreplikowany jest przechowywany w strukturze CDaoIndexInfo . Wywołania funkcji członek GetIndexInfo obiektu zawierającego zreplikowany w których kolekcji indeksów znajduje się obiekt indeksu. CDaoIndexInfo definiuje również funkcję Państwa zrzutu w kompilacji programu debug. Można użyć zrzutu do zrzutu zawartość obiektu CDaoIndexInfo.
Informacji na temat używania tego i innych struktur MFC DAO o użytkowniku, zobacz artykuł kolekcji obiektów DAO: uzyskiwanie informacji na temat obiektów DAO w Visual C++ Programmer's Guide.
Zobacz też CDaoTableDef::GetIndexInfo