Partilhar via


Estrutura CDaoIndexInfo

The CDaoIndexInfo estrutura contém informações sobre um objeto de índice definido para objetos de acesso a dados (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
}; 

Parâmetros

  • m_strName
    Nomes com exclusividade o objeto de campo.Para obter detalhes, consulte o tópico "Propriedade de nome" na Ajuda do DAO.

  • m_pFieldInfos
    Um ponteiro para uma matriz de CDaoIndexFieldInfo objetos indicando quais campos definiçãodetabela ou conjunto de registros são campos de chave em um índice.Cada objeto identifica um campo no índice.A ordenação de índice padrão é crescente.Um objeto de índice pode ter um ou mais campos que representam chaves de índice para cada registro.Isso podem ser crescente, decrescente, ou uma combinação.

  • m_nFields
    O número de campos armazenados em m_pFieldInfos.

  • m_bPrimary
    Se a propriedade primária for TRUE, o objeto de índice representa um índice primário.Um índice primário consiste em um ou mais campos que identificam com exclusividade todos os registros em uma tabela em uma ordem predefinida.Como o campo de índice deve ser exclusivo, a propriedade exclusiva do objeto index também é conjunto para TRUE no DAO.Se o índice primário consistir em mais de um campo, cada campo poderá conter valores duplicados, mas cada combinação de valores de todos os campos indexados deve ser exclusiva.Um índice primário consiste em uma chave para a tabela e geralmente contém sistema autônomo mesmos campos sistema autônomo chave primária.

    Quando você conjunto uma chave primária para uma tabela, a chave primária é automaticamente definida sistema autônomo o índice primário para a tabela.Para obter mais informações, consulte os tópicos "Propriedade primário" e "Propriedade Unique" na Ajuda do DAO.

    Observação:

    Pode haver, no máximo, o ne índice primário em uma tabela.

  • m_bUnique
    Indica se um objeto de índice representa um índice exclusivo para uma tabela.Se essa propriedade for TRUE, o objeto de índice representa um índice exclusivo.Um índice exclusivo consiste em um ou mais campos que organizam logicamente todos os registros em uma tabela em uma ordem exclusiva e predefinida.Se o índice consistir em um campo, os valores nesse campo devem ser exclusivos para a tabela inteira.Se o índice consistir em mais de um campo, cada campo poderá conter valores duplicados, mas cada combinação de valores de todos os campos indexados deve ser exclusiva.

    Se houver propriedades o exclusivo e primário de um objeto de índice conjunto para TRUE, o índice é exclusivo e primário: Ele identifica com exclusividade todos os registros da tabela em uma ordem lógica, predefinida.Se a propriedade primária for conjunto para FALSE, o índice é um índice secundário.Índices secundários (tanto chaves quanto nonkey) organizam logicamente registros em uma ordem predefinida sem servir sistema autônomo um identificador para registros da tabela.

    Para obter mais informações, consulte os tópicos "Propriedade primário" e "Propriedade Unique" na Ajuda do DAO.

  • m_bClustered
    Indica se um objeto de índice representa um índice clusterizado para uma tabela.Se essa propriedade for TRUE, o objeto de índice representa um índice clusterizado; caso contrário, ele não.A índice clusterizado consiste em um ou mais campos nonkey que, em conjunto, organizam todos os registros em uma tabela em uma ordem predefinida.Com um índice clusterizado, os dados na tabela são armazenados literalmente na ordem especificada por índice clusterizado.Um índice agrupado fornece acesso eficiente aos registros em uma tabela.Para obter mais informações, consulte o tópico "Propriedade Clustered" na Ajuda do DAO.

    Observação:

    Prope Clustered rty será ignorada para bancos de dados que usam o mecanismo de banco de dados Microsoft Jet porque o mecanismo de banco de dados Jet não dá suporte a índices agrupados.

  • m_bIgnoreNulls
    Indica se há entradas de índice para registros com valores nulo em seus campos de índice.Se essa propriedade for TRUE, campos com valores nulo não tem uma entrada de índice.Para tornar a procura por registros usando um campo com mais rapidez, você pode definir um índice para o campo.Se você permitir entradas nulo em um campo indexado e espera que muitos das entradas para ser nulo, você pode conjunto a propriedade IgnoreNulls para o objeto de índice para TRUE para reduzir a quantidade de espaço de armazenamento que o índice usa.A configuração da propriedade IgnoreNulls e a configuração da propriedade required juntas determinam se um registro com um valor de índice de nulo tem uma entrada de índice, sistema autônomo mostra a tabela a seguir.

    Ignorar

    Necessário

    Nulo no campo índice

    True

    False

    Valor nulo permitido; nenhuma entrada de índice adicionado.

    False

    False

    Valor permitido nulo; adicionada entrada de índice.

    VERDADEIRO ou falso

    True

    Valor nulo não permitido; nenhuma entrada de índice adicionado.

    Para obter mais informações, consulte o tópico "Propriedade IgnoreNulls" na Ajuda do DAO.

  • m_bRequired
    Indica se um objeto de índice do DAO requer um valor não nulo.Se essa propriedade for TRUE, o objeto de índice não permite que um valor nulo.Para obter mais informações, consulte o tópico "Propriedade required" na Ajuda do DAO.

    Dica:

    Quando você pode definir essa propriedade para um objeto de índice do DAO ou para um objeto de campo (contido por um definiçãodetabela, conjunto de registros ou objeto definiçãodeconsulta t), defina-o para o objeto de campo.A validade da configuração da propriedade para um objeto de campo é verificada antes que um objeto de índice.

  • m_bForeign
    Indica se um objeto de índice representa uma chave estrangeira em uma tabela.Se essa propriedade for TRUE, o índice representa uma chave estrangeira em uma tabela.Uma chave estrangeira consiste em um ou mais campos em uma tabela estrangeira que identificam exclusivamente uma linha em uma tabela primária.O mecanismo de banco de dados Microsoft Jet cria um objeto de índice para a tabela estrangeira e define a propriedade Foreign quando você cria um Relação que impõe integridade referencial.Para obter mais informações, consulte o tópico "Propriedade Foreign" na Ajuda do DAO.

  • m_lDistinctCount
    Indica o número de valores exclusivos para o objeto de índice incluídos na tabela associada.Verifique a propriedade DistinctCount para determinar o número de valores exclusivos, ou chaves, em um índice.Qualquer chave é contada apenas uma vez, embora possa ser várias ocorrências desse valor se o índice permitir valores duplicados.Essa informação é útil em aplicativos que tentam otimizar o acesso aos dados por meio da avaliação de informações de índice.O número de valores exclusivos é também conhecido sistema autônomo a cardinalidade de um objeto de índice.A propriedade DistinctCount não refletirá o número real de chaves sempre em um momento específico.Por exemplo, uma alterar causada por uma reversão de transação não será refletida imediatamente na propriedade DistinctCount.Para obter mais informações, consulte o tópico "Propriedade DistinctCount" na Ajuda do DAO.

Comentários

As referências a primária, secundária e All acima indicam como as informações fornecidas pelo GetIndexInfo função de membro em classes CDaoTableDef and CDaoRecordset.

Índice de objetos não são representados por uma classe do MFC.Em vez disso, DAO objetos objetos subjacentes MFC de classe CDaoTableDef or CDaoRecordset contém uma coleção de objetos de índice, chamado coleção Indexes.Essas classes fornecem funções de membro para acesso itens individuais de informações de índice, ou você podem acesso-los todos de uma vez com um CDaoIndexInfo objeto chamando o GetIndexInfo função de membro do objeto recipiente.

CDaoIndexInfo tem um construtor e um destruidor para alocar corretamente e desalocar as informações do campo de índice em m_pFieldInfos.

Informações recuperadas pelo GetIndexInfo função de membro de um objeto definiçãodetabela é armazenada em um CDaoIndexInfo estrutura. telefonar the GetIndexInfo função de membro do objeto contendo definiçãodetabela em cuja coleção Indexes o objeto de índice está armazenado. CDaoIndexInfo também define um Dump cria a função de membro na depurar. Você pode usar Dump Despejar o Sumário de um CDaoIndexInfo objeto.

Requisitos

Cabeçalho: afxdao.h

Consulte também

Referência

CDaoTableDef::GetIndexInfo

Outros recursos

Estruturas, estilos, retornos de chamada e mapas de mensagem