Sdílet prostřednictvím


CDaoDatabase::CreateRelation

Volání funkce tohoto člena stanovit vztah mezi jedno nebo více polí v primární tabulce v databázi a jedno nebo více polí v cizí tabulce (jiné tabulky v databázi).

void CreateRelation( 
   LPCTSTR lpszName, 
   LPCTSTR lpszTable, 
   LPCTSTR lpszForeignTable, 
   long lAttributes, 
   LPCTSTR lpszField, 
   LPCTSTR lpszForeignField  
);
void CreateRelation( 
   CDaoRelationInfo& relinfo  
);

Parametry

  • lpszName
    Jedinečný název objektu vztah.Název musí začínat písmenem a může obsahovat maximálně 40 znaků.Může obsahovat čísla a znaky podtržení, ale nemůže obsahovat interpunkci nebo mezery.

  • lpszTable
    Název primární tabulky ve vztahu.Pokud tabulka neexistuje, MFC vyvolá výjimku typu CDaoException.

  • lpszForeignTable
    Název tabulky ve vztahu cizího.Pokud tabulka neexistuje, MFC vyvolá výjimku typu CDaoException .

  • lAttributes
    Hodnota typu long obsahující informace o typu relace.Tato hodnota slouží k zajištění referenční integrity, mimo jiné.Bitový operátor OR operátor (lze použít**|**) kombinovat libovolné z následujících hodnot (dokud smysl kombinace):

    • dbRelationUnique je vztah 1: 1.

    • dbRelationDontEnforce vztah není vynucena (bez referenční integrity).

    • dbRelationInherited existuje fixní databáze, která obsahuje dvě tabulky připojené relace.

    • dbRelationUpdateCascade bude aktualizace v kaskádě (Další informace o cascades viz poznámky).

    • dbRelationDeleteCascade bude odstranění v kaskádě.

  • lpszField
    Ukazatel zakončený řetězec obsahující název pole v primární tabulce (název je lpszTable ).

  • lpszForeignField
    Ukazatel zakončený řetězec obsahující název pole v tabulce cizího (pojmenovaný lpszForeignTable ).

  • relinfo
    Odkaz na CDaoRelationInfo objekt, který obsahuje informace o vztahu, který chcete vytvořit.

Poznámky

Vztah nelze zahrnovat dotazu nebo připojené tabulky z externí databáze.

První verze funkce pomocí vztahu týká jedno pole v každém ze dvou tabulek.Druhá verze použijte, pokud vztah zahrnuje více polí.Maximální počet polí ve vztahu je 14.

Tato akce vytvoří základní objekt DAO vztahu, ale to je podrobností implementace MFC, protože jeho MFC zapouzdření objektů vztah je obsažen v rámci třídy CDaoDatabase .MFC neposkytuje třídy pro vztahy.

Vztah nastavíte atributů objektu aktivace kaskády operací, databázový stroj automaticky aktualizace nebo odstranění záznamů v jedné nebo více tabulek při změně související tabulky primárního klíče.

Předpokládejme například, že navázat na sebe odstranit vztah mezi tabulkou Zákazníci a objednávky.Když odstraníte záznamy z tabulky Zákazníci, jsou také odstraněny záznamy v tabulce objednávky týkající se tohoto zákazníka.Navíc pokud vytvoříte kaskády odstranit vztahy mezi tabulkami objednávky a jiné tabulky, záznamy z těchto tabulek jsou automaticky odstraněny při odstranění záznamů z tabulky Zákazníci.

Související informace naleznete v tématu "CreateRelation metoda" v nápovědě DAO.

Požadavky

Záhlaví: afxdao.h

Viz také

Referenční dokumentace

Třída CDaoDatabase

Diagram hierarchie

CDaoDatabase::DeleteRelation