CDaoDatabase::CreateRelation

void CreateRelation (LPCTSTR lpszName, LPCTSTR lpszTable,LPCTSTR lpszForeignTable, long lAttributes, LPCTSTR lpszField,LPCTSTR lpszForeignField );
lançar (CDaoException, CMemoryException);

void Cre&ateRelation (CDaoRelationInfoamp;relinfo );
lançar (CDaoException, CMemoryException);

Parâmetros

lpszName

O nome exclusivo do objeto relation. O nome deve iniciar com umCarta e pode conter um máximo de 40 caracteres. Pode incluir números e sublinhado caracteres, mas não pode incluir espaços ou Pontuação.

lpszTable

O nome da tabela primária da relação. Se a tabela não existir, MFC lança uma exceção do tipo CDaoException.

lpszForeignTable

O nome da tabela externa na relação. Se a tabela não existir, MFC lança uma exceção do tipo CDaoException.

lAttributes

Um valor longo que contém informações sobre o tipo de relação. Você pode usar esse valor para impor a integridade referencial, entre outras coisas. Você pode usar o operador bit a bit ou (|) para combinar qualquer um dos seguintes valores (desde que a combinação faz sentido):

lpszField

Um ponteiro para uma seqüência de caracteres null-terminated que contém o nome de um campo na tabela primária (nomeado por lpszTable).

lpszForeignField

Um ponteiro para uma seqüência de caracteres null-terminated que contém o nome de um campo na tabela externa (nomeado por lpszForeignTable).

relinfo

Uma referência a um objeto CDaoRelationInfo que contém informações sobre a relação que você deseja criar.

Observações

Chame essa função de membro para estabelecer uma relação entre um ou mais campos em uma tabela primária no banco de dados e um ou mais campos em uma tabela externa (outra tabela no banco de dados). A relação não pode envolver uma consulta ou uma tabela anexada de um banco de dados externo.

Use a primeira versão da função quando a relação envolve um campo em cada uma das duas tabelas. Use o segundo versão quando a relação envolve vários campos. O número máximo de campos em uma relação é 14.

Essa ação cria um objeto de relação subjacente do DAO, mas este é um detalhe de implementação do MFC, desde que o encapsulamento do MFC de objetos de relação está contido em classe CDaoDatabase. MFC não fornece uma classe para as relações.

Se você definir a relação de atributos do objeto para ativar operações em cascata, o mecanismo de banco de dados automaticamente atualiza ou exclui registros de uma ou mais tabelas quando são feitas alterações em tabelas relacionadas de chaves primárias.

Por exemplo, suponha que você estabelece uma relação de exclusão em cascata entre uma tabela clientes e uma tabela pedidos. Quando você exclui registros da tabela clientes, registros na tabela pedidos relacionados a esse cliente também são excluídos. Além disso, se você estabelecer relações de exclusão em cascata entre outras tabelas e a tabela pedidos, registros dessas tabelas são automaticamente excluídos quando você excluir registros da tabela clientes.

Para obter informações relacionadas, consulte o tópico "Método CreateRelation" na Ajuda do DAO.

Visão geral de CDaoDatabaseMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CDaoDatabase::DeleteRelation

Index