Compartilhar via


Estrutura CDaoRelationInfo

A estrutura CDaoRelationInfo contém informações sobre uma relação definida entre os campos de duas tabelas em um objeto CDaoDatabase.

Sintaxe

struct CDaoRelationInfo
{
    CDaoRelationInfo();                     // Constructor
    CString m_strName;                      // Primary
    CString m_strTable;                     // Primary
    CString m_strForeignTable;              // Primary
    long m_lAttributes;                     // Secondary
    CDaoRelationFieldInfo* m_pFieldInfos;   // Secondary
    short m_nFields;                        // Secondary
    // Below the // Implementation comment:
    // Destructor, not otherwise documented
};

Parâmetros

m_strName
Nomeia exclusivamente o objeto de relação. Para obter mais informações, confira o tópico "Propriedade Name" na Ajuda do DAO.

m_strTable
Nomeia a tabela primária na relação.

m_strForeignTable
Nomeia a tabela estrangeira na relação. Uma tabela estrangeira é uma tabela usada para conter chaves estrangeiras. De modo geral, você usa uma tabela estrangeira para estabelecer ou impor a integridade referencial. A tabela estrangeira geralmente está do lado de muitos de uma relação de um para muitos. Exemplos de tabelas estrangeiras incluem tabelas que contêm códigos dos estados americanos, das províncias canadenses ou de pedidos de clientes.

m_lAttributes
Contém informações sobre o tipo de relação. O valor desse membro pode ser um dos seguintes:

  • dbRelationUnique A relação é de um para um.

  • dbRelationDontEnforce A relação não é imposta (não há integridade referencial).

  • dbRelationInherited A relação existe em um banco de dados não recorrente que contém as duas tabelas anexadas.

  • dbRelationLeft A relação é uma junção esquerda. Uma junção externa esquerda inclui todos os registros da primeira (esquerda) de duas tabelas, mesmo que não haja valores correspondentes para registros na segunda tabela (direita).

  • dbRelationRight A relação é uma junção direita. Uma junção externa direita inclui todos os registros da segunda (direita) de duas tabelas, mesmo que não haja valores correspondentes para registros na primeira tabela (esquerda).

  • dbRelationUpdateCascade As atualizações serão em cascata.

  • dbRelationDeleteCascade As exclusões serão em cascata.

m_pFieldInfos
Um ponteiro para uma matriz de estruturas CDaoRelationFieldInfo. A matriz contém um objeto para cada campo na relação. O membro de dados m_nFields fornece uma contagem dos elementos da matriz.

m_nFields
O número de objetos CDaoRelationFieldInfo no membro de dados m_pFieldInfos.

Comentários

As referências a Primary e Secondary acima indicam como as informações são retornadas pela função membro GetRelationInfo na classe CDaoDatabase.

Os objetos de relação não são representados por uma classe MFC. Em vez disso, o objeto DAO subjacente a um objeto MFC da classe CDaoDatabase mantém uma coleção de objetos de relação: CDaoDatabase fornece funções membro para acessar alguns itens individuais das informações de relação, ou você pode acessá-los de uma só vez com um objeto CDaoRelationInfo chamando a função membro GetRelationInfo do objeto de banco de dados que o contém.

As informações recuperadas pela função membro CDaoDatabase::GetRelationInfo são armazenadas em uma estrutura CDaoRelationInfo. CDaoRelationInfo também define uma função membro Dump em builds de depuração. Você pode usar Dump para despejar o conteúdo de um objeto CDaoRelationInfo.

Requisitos

Cabeçalho: afxdao.h

Confira também

Estrutura CDaoRelationFieldInfo