CDaoIndexInfo структура

CDaoIndexInfo структура имеет следующую форму:

структура CDaoIndexInfo {}
 nbsp;  CDaoIndexInfo ();                   / / Конструктор

CString m_str&Name;                  / / Главная
    CDaoIndexFieldInfo * m_pFieldInfos;  / / Главная
    короткие m_nFields;                    / / Главная
    BOOL m_bPrimary;                    / / Вторичные
    BOOL m_bUnique;                     / / Вторичные
    BOOL m_bClustered;                  / / Вторичные
    BOOL m_bIgnoreNulls;                / / Вторичные
    BOOL m_bRequired;                   / / Вторичные
    BOOL m_bForeign;                    / / Вторичные
    длинные m_lDistinctCount;              / / Все

/ / Ниже / / осуществление комментарий:
    / / Деструктор, не иначе документально
}
 

CDaoIndexInfo структура содержит сведения об объекте индекс, определенный для объектов доступа к данным (DAO). Ссылки на начальное, среднее и все указанные выше показывают, каким образом информация возвращается функцией-членом GetIndexInfo в классах CDaoTableDef и CDaoRecordset.

Индекс объекты не представлены класс MFC. Вместо этого объектов DAO нижележащие объекты MFC класса CDaoTableDef или CDaoRecordset содержат коллекцию объектов индекса, называемый индексов коллекции. Эти классы снабжения функций-членов для доступа к отдельным элементам данных индекса, или для доступа к их все сразу с CDaoIndexInfo объектом вызова функции-члена GetIndexInfo , содержащего объект.

CDaoIndexInfo имеет конструктор и деструктор, с тем чтобы должным образом распределять и освобождать данные поля индекса в m_pFieldInfos.

Члены

m_strName

Уникально имя объекта поля. Подробности в разделе «Свойства Name» в справке DAO.

m_pFieldInfos

Указатель на массив объектов CDaoIndexFieldInfo , указывающий, какие tabledef или набора записей поля являются ключевых полей в индексе. Каждый объект определяет одно поле в индексе. По умолчанию индекс заказа по возрастанию. Объект индекса может иметь одно или несколько полей, представляющих ключей индекса для каждой записи. Они могут возрастанию, по убыванию, или комбинацию.

m_nFields

Количество полей, хранящихся в m_pFieldInfos.

m_bPrimary

Если основная свойства равно TRUE, объект индекса представляет первичный индекс. Первичный индекс состоит из одного или нескольких полей, которые однозначно идентифицировать все записи в таблице в порядке, заранее. Потому что поле индекса должны быть уникальны, уникальные свойства индекса объекта также присваивается значение TRUE в Дао. Если первичный индекс состоит из более чем одного поля, каждое поле может содержать повторяющиеся значения, но каждая комбинация значений всех индексированных полей должны быть уникальными. Первичный индекс состоит из ключа для таблицы и обычно содержит те же поля в качестве первичного ключа.

Когда значение первичного ключа для таблицы первичный ключ автоматически определяется как первичного индекса для таблицы. Для получения дополнительных сведений обратитесь к разделам «Основная собственность» и «Уникальный имущество» в справке DAO.

Примечание   Может быть, самое большее, один первичный индекс в таблице.

m_bUnique

Указывает, представляет ли объект индекс уникальный индекс для таблицы. Если это свойство имеет значение TRUE, объект индекса представляет уникальный индекс. Уникальный индекс состоит из одного или нескольких полей, которые логически упорядочить все записи в таблице в порядке, уникальный, заранее. Если индекс состоит из одного поля, значения в этом поле должно быть уникальным для всей таблицы. Если индекс состоит из более чем одного поля, каждое поле может содержать повторяющиеся значения, но каждая комбинация значений всех индексированных полей должны быть уникальными.

Если Unique и начальные свойства индекса объекта присвоено значение TRUE, индекс является уникальной и основной: уникально идентифицирует все записи в таблице в стандартных, логический порядок. Если начальное свойство имеет значение FALSE, это вторичный индекс. Вторичные индексы (как ключевые и неключевые) логически организовать записи в порядке, заранее не в качестве идентификатора для записей в таблице.

Для получения дополнительных сведений обратитесь к разделам «Основная собственность» и «Уникальный имущество» в справке DAO.

m_bClustered

Указывает, представляет ли объект индекса кластеризованного индекса для таблицы. Если это свойство имеет значение TRUE, объект индекса представляет кластеризованный индекс; в противном случае это не так. Кластеризованный индекс состоит из одного или более nonkey поля, которые, взятые вместе, устраивать все записи в таблице в порядке, заранее. С кластеризованным индексом данные в таблице хранится буквально в порядке, указанном кластеризованного индекса. Кластерный индекс обеспечивает эффективный доступ к записи в таблице. Для получения дополнительных сведений в разделе «Кластерным собственности» в справке DAO.

Примечание   Свойство Clustered учитывается для баз данных, которые используют базы данных Microsoft Jet, поскольку базы данных Jet не поддерживает кластеризованные индексы.

m_bIgnoreNulls

Указывает, имеются ли записи индекса для записи значения Null в поля их индекса. Если это свойство имеет значение TRUE, поля с пустыми значениями не имеют элемент указателя. Чтобы сделать поиск записей с помощью поля быстрее, можно определить индекс для этого поля. Если разрешить Null записи в Индексированное поле и ожидать, что многие из записи, чтобы иметь значение Null, свойство IgnoreNulls для индекса объекта можно задать значение TRUE для снижения объема дискового пространства, который использует индекс. Значение свойства IgnoreNulls и необходимые свойства вместе определяют, имеет ли запись с Null значение индекса элемента указателя, как показано в следующей таблице.

IgnoreNulls Обязательно Значение NULL в поле Индекс
Правда Ложь Значение NULL разрешено; не добавлен элемент указателя.
Ложь Ложь Значение NULL разрешено; Добавлена запись индекса.
Значение true или False Правда Значение NULL не допускается; не добавлен элемент указателя.

Для получения дополнительных сведений в разделе «IgnoreNulls собственность» в справке DAO.

m_bRequired

Указывает, требуется ли объект DAO индекс значение не Null.Если это свойство имеет значение TRUE, объект индекса не поддерживает значения Null. Для получения дополнительных сведений в разделе «Требуется собственности» в справке DAO.

Подсказка   Когда вы можете задать это свойство для индекса объект DAO или объект поля (содержащихся в объект tabledef, набора записей или объекта querydef), установите его для объекта поля. До этого индекса объекта проверяется действительность свойства для объекта поля.

m_bForeign

Указывает, представляет ли объект индекса внешний ключ в таблице. Если это свойство имеет значение TRUE, индекс представляет внешний ключ в таблице. Внешний ключ состоит из внешней таблицы одно или несколько полей, которые однозначно идентифицировать строку в главной таблице. Базы данных Microsoft Jet создает объект индекса для внешней таблицы и устанавливает свойство иностранных при создании отношения, которые обеспечивает целостность данных. Для получения дополнительных сведений в разделе «Иностранной собственности» в справке DAO.

m_lDistinctCount

Указывает количество уникальных значений для индекса объекта, которые включены в связанной таблице. Проверьте DistinctCount свойства для определения числа уникальных значений или ключей, в индекс. Любая клавиша засчитывается только один раз, хотя могут существовать несколько экземпляров этого значения Если индекс разрешает повторяющиеся значения. Эта информация используется в приложениях, которые пытаются оптимизировать доступ к данным путем оценки данных индекса. Количество уникальных значений является также известен как мощность индекс объекта. Свойство DistinctCount не всегда отражают реальное количество ключей в определенное время. Например изменения, вызванные откат транзакции не будут немедленно отражены в свойстве DistinctCount. Для получения дополнительных сведений в разделе «DistinctCount собственности» в справке DAO.

Комментарии

Информация по GetIndexInfo функции-члена объекта tabledef хранится в структуре CDaoIndexInfo . Вызовите функцию-член GetIndexInfo содержащего объекта tabledef, в чьи индексы коллекции хранится индекс объекта. CDaoIndexInfo также определяет функцию-член Dump в построениях отладки. Используйте дамп сбрасывать содержимое объекта CDaoIndexInfo.

Для информации об использовании этот и другие структуры MFC DAO, обратитесь к статье DAO коллекции: получение информации О объектов DAO в Руководстве по Visual C++ программист.

См. также CDaoTableDef::GetIndexInfo

Index