CDaoDatabase::CreateRelation
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 estrangeira (outra tabela no banco de dados).
void CreateRelation(
LPCTSTR lpszName,
LPCTSTR lpszTable,
LPCTSTR lpszForeignTable,
long lAttributes,
LPCTSTR lpszField,
LPCTSTR lpszForeignField
);
void CreateRelation(
CDaoRelationInfo& relinfo
);
Parâmetros
lpszName
O nome exclusivo do objeto de relação.O nome deve começar com uma letra e pode conter no máximo 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 na relação.Se a tabela não existir, o MFC lançará uma exceção do tipo CDaoException.lpszForeignTable
O nome da tabela estrangeira na relação.Se a tabela não existir, o MFC lançará 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 integridade referencial, entre outras coisas.Você pode usar o operador OR bit a bit (|) para agrupar qualquer um dos seguintes valores (contanto que a combinação faz sentido):dbRelationUnique O Relação é um-para-um.
dbRelationDontEnforce Relação não é imposta (sem integridade referencial).
dbRelationInherited Existe uma relação em um banco de dados noncurrent contém duas tabelas anexadas.
dbRelationUpdateCascade Atualizações serão em cascata (para obter mais informações sobre cascades, consulte os comentários).
dbRelationDeleteCascade Exclusões serão em cascata.
lpszField
Um ponteiro para uma cadeia terminada com nulo que contém o nome de um campo na tabela primária (nomeado por lpszTable).lpszForeignField
Um ponteiro para uma cadeia terminada com nulo que contém o nome de um campo na tabela estrangeira (nomeado por lpszForeignTable).relinfo
Uma referência a um CDaoRelationInfo objeto que contém informações sobre o parceiro que você deseja criar.
Comentários
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 a segunda versão quando o parceiro 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 DAO subjacente, mas esse é 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 de parceiros.
Se você conjunto a relação de atributos do objeto para ativar as operações em cascata, o mecanismo de banco de dados automaticamente atualiza ou exclui registros em um ou mais Outros tabelas quando são feitas alterações relacionadas a tabelas de chaves primárias.
Por exemplo, suponha que você estabelecer um excluir em cascata relação entre uma tabela clientes e uma tabela Pedidos.Quando você exclui registros da tabela Customers, os registros na tabela pedidos relacionados a esse cliente também serão excluídos.Além disso, se você estabelecer relações de excluir em cascata entre a tabela Pedidos e outras tabelas, registros dessas tabelas são automaticamente excluídos quando você exclui registros da tabela Customers.
Para obter informações relacionadas, consulte o tópico "Método CreateRelation" na Ajuda do DAO.
Requisitos
Cabeçalho: afxdao.h