Partager via


CDaoIndexInfo, structure

La structure d' CDaoIndexInfo contient des informations sur un objet index défini pour les objets d'accès aux données (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
}; 

Paramètres

  • m_strName
    Appelé uniquement l'objet champ.Pour plus d'informations, consultez la rubrique « propriété Name » dans l'aide de DAO.

  • m_pFieldInfos
    Pointeur vers un tableau d'indiquer d'objets de CDaoIndexFieldInfo les tabledef ou champs du recordset sont des champs clés dans un index.Chaque objet identifie un champ de l'index.Classer par défaut d'index est croissant.Un objet index peut avoir un ou plusieurs champs qui représentent des clés d'index pour chaque enregistrement.Il peut s'agir d'ordre croissant, descendant, ou une combinaison.

  • m_nFields
    Le nombre de champs stockés dans m_pFieldInfos.

  • m_bPrimary
    Si la propriété primaire est TRUE, l'objet index représente un index primaire.Un index principale se compose d'un ou plusieurs champs qui identifient uniquement tous les enregistrements d'une table dans une commande prédéfinie.Étant donné que le champ d'index doit être unique, la propriété unique de l'objet index est également définie à TRUE dans DAO.Si l'indice principal se compose de plusieurs champ, chaque champ peut contenir des valeurs en double, mais chaque combinaison de valeurs de tous les champs indexés doit être unique.Un index principale se compose d'une clé pour le tableau et contient généralement les mêmes champs que la clé primaire.

    Lorsque vous définissez une clé primaire pour une table, la clé primaire est automatiquement défini comme l'index primaire de la table.Pour plus d'informations, consultez les rubriques traitant propriété primaire » et « propriété unique » dans l'aide de DAO.

    [!REMARQUE]

    Il peut exister, au plus, un index primaire dans une table.

  • m_bUnique
    Indique si un objet index représente un index unique sur une table.Si cette propriété est TRUE, l'objet index représente un index uniques.Un index unique se compose d'un ou plusieurs champs qui réorganisent logiquement tous les enregistrements d'une table dans un unique, commande prédéfinie.Si l'index se compose d'un champ, des valeurs dans ce champ doit être unique pour la table entière.Si l'index se compose de plusieurs champ, chaque champ peut contenir des valeurs en double, mais chaque combinaison de valeurs de tous les champs indexés doit être unique.

    Si les uniques et primaires propriétés d'un objet index sont définies à TRUE, l'index est unique et primaire : Il identifie tous les enregistrements de la table dans un ordre intégrée et logique.Si la propriété primaire est définie à FALSE, l'index est un index secondaire.Les index secondaires (les deux clé et non-clé) réorganisent logiquement des enregistrements dans un ordre prédéfinie sans sert d'identificateur pour les enregistrements de la table.

    Pour plus d'informations, consultez les rubriques traitant propriété primaire » et « propriété unique » dans l'aide de DAO.

  • m_bClustered
    Indique si un objet index représente un index cluster pour une table.Si cette propriété est TRUE, l'objet index représente un index cluster ; sinon, il n'est pas le cas.Un index cluster se compose d'un ou plusieurs champs non-clé qui, ensemble, réorganiser tous les enregistrements d'une table dans une commande prédéfinie.Avec un index cluster, les données de la table est littéralement stockée dans l'ordre spécifié par l'index cluster.Un index cluster fournit l'accès efficace des enregistrements dans une table.Pour plus d'informations, consultez la rubrique « regroupés la propriété » dans l'aide de DAO.

    [!REMARQUE]

    La propriété cluster est ignorée pour les bases de données qui utilisent le moteur de base de données Microsoft Jet car le moteur de base de données levé ne prend pas en charge les index cluster.

  • m_bIgnoreNulls
    Indique s'il existe des entrées d'index pour les enregistrements qui ont des valeurs NULL dans leurs champs d'index.Si cette propriété est TRUE, les champs avec des valeurs NULL n'ont pas une entrée d'index.Pour faire rechercher des enregistrements à l'aide d'un champ plus rapidement, vous pouvez définir un index pour le champ.Si vous permettez les entrées null dans un champ indexé et vous pensez que plusieurs des entrées soient null, vous pouvez définir la propriété d'IgnoreNulls pour l'objet index à TRUE pour réduire la quantité d'espace disque que l'index utilise.Le paramètre de propriété d'IgnoreNulls et le paramètre de propriété requis déterminent ensemble si un enregistrement avec une valeur d'index nulle a une entrée d'index, comme indiqué dans le tableau suivant.

    IgnoreNulls

    Obligatoire

    Null dans le champ d'index

    True

    False

    Valeur NULL autorisé ; aucune entrée d'index ajoutée.

    False

    False

    Valeur NULL autorisé ; entrée d'index ajoutée.

    True ou False

    True

    Valeur NULL n'est pas autorisée ; aucune entrée d'index ajoutée.

    Pour plus d'informations, consultez la rubrique « propriété d'IgnoreNulls » dans l'aide de DAO.

  • m_bRequired
    Indique si un objet index de DAO requiert une valeur non null.Si cette propriété est TRUE, l'objet index ne permet pas de valeur NULL.Pour plus d'informations, consultez la rubrique « propriété requise » dans l'aide de DAO.

    ConseilConseil

    Lorsque vous pouvez définir cette propriété pour un objet index DAO ou un objet champ (contenu par un tabledef, un recordset, ou un objet querydef), définissez -le pour l'objet champ.La validité du paramètre de la propriété d'un objet champ est activée avant qui d'un objet index.

  • m_bForeign
    Indique si un objet index représente une clé étrangère dans une table.Si cette propriété est TRUE, l'index représente une clé étrangère dans une table.Une clé étrangère se compose d'un ou plusieurs champs dans une table de clé étrangère qui identifient uniquement une ligne dans une table de clé primaire.Le moteur de base de données Microsoft Jet crée un objet index pour la table de clé étrangère et définit la propriété étrangère lorsque vous créez une relation qui applique l'intégrité référentielle.Pour plus d'informations, consultez la rubrique « propriété » étrangère dans l'aide de DAO.

  • m_lDistinctCount
    Indique le nombre de valeurs uniques pour l'objet index qui sont incluses dans la table associée.Vérifiez la propriété de DistinctCount pour déterminer le nombre de valeurs uniques, ou des clés, dans un index.Toute clé est numérotée une seule fois, même s'il peut y avoir plusieurs occurrences de cette valeur si l'index permet des valeurs dupliquées.Ces informations sont utiles dans les applications qui essaient d'optimiser l'accès aux données en évaluant les informations d'index.Le nombre de valeurs uniques est également appelé la cardinalité d'un objet index.La propriété de DistinctCount ne reflète pas toujours le nombre réel de clés à un moment particulier.Par exemple, un changement provoquée par une restauration de transaction ne sera pas répercutée immédiatement de la propriété de DistinctCount.Pour plus d'informations, consultez la rubrique « propriété de DistinctCount » dans l'aide de DAO.

Notes

Les références à primaire, à secondaire et, tous en haut indiquent comment les informations sont retournées par la fonction membre d' GetIndexInfo dans les classes CDaoTableDef et CDaoRecordset.

Les objets index ne sont pas représentés par une classe MFC.Au lieu de cela, les objets DAO sous-jacente des objets MFC de classe CDaoTableDef ou CDaoRecordset contiennent une collection d'objets index, appelée la collection d'index.Ces classes fournissent les fonctions membres pour accéder à des éléments des informations d'index, ou vous pouvez y accéder en même temps à un objet d' CDaoIndexInfo en appelant la fonction membre d' GetIndexInfo de l'objet contenant.

CDaoIndexInfo un constructeur et un destructeur afin de correctement allouer et libérer les informations de champ d'index dans m_pFieldInfos.

Des informations extraites par la fonction membre d' GetIndexInfo d'un objet tabledef sont stockées dans une structure d' CDaoIndexInfo .Appelez la fonction membre d' GetIndexInfo de l'objet contenant tabledef dans lequel la collection d'index l'objet index est enregistré.CDaoIndexInfo définit également une fonction membre d' Dump dans les versions debug.Vous pouvez utiliser Dump pour faire un dump du contenu d'un objet d' CDaoIndexInfo .

Configuration requise

Header: afxdao.h

Voir aussi

Référence

CDaoTableDef::GetIndexInfo

Autres ressources

Structures, styles, rappels, et les tables des messages