CDaoDatabase::CreateRelation

Rufen Sie die Memberfunktion auf, um eine Beziehung zwischen einem oder mehreren Feldern in einer Tabelle in der Datenbank und einem oder mehreren Feldern in einer Fremdtabelle (eine andere Tabelle in der Datenbank) herzustellen.

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

Parameter

  • lpszName
    Der eindeutige Name des Beziehungsobjekts.Der Name muss mit einem Buchstaben beginnen und kann maximal 40 Zeichen enthalten.Er kann Zahlen und Unterstriche einschließen kann jedoch keine Leerzeichen oder Interpunktionszeichen enthalten.

  • lpszTable
    Der Name der Tabelle in der Beziehung.Wenn die Tabelle nicht vorhanden ist, löst eine Ausnahme des Typs MFC CDaoException aus.

  • lpszForeignTable
    Der Name der fremden Tabelle in der Beziehung.Wenn die Tabelle nicht vorhanden ist, löst eine Ausnahme des Typs MFC CDaoException aus.

  • lAttributes
    Ein langer Wert, der Informationen über den Beziehungstyp enthält.Sie können diesen Wert verwenden, um die referenzielle Integrität erzwingen, unter anderem.Sie können den bitweisen Operator OR verwenden (|) einer der folgenden Werte kombinieren (solange die Kombination sinnvoll ist):

    • dbRelationUnique Beziehung ist erfolgt.

    • dbRelationDontEnforce Beziehung wird nicht erzwungen (keine referenzielle Integrität).

    • dbRelationInherited Beziehung vorhanden ist nicht in einer aktuellen Datenbank, die die zwei umschlossenen Tabellen enthält.

    • dbRelationUpdateCascade Updates überlappen (für mehr auf Kaskaden, siehe Hinweise).

    • Löschen dbRelationDeleteCascade kaskadiert.

  • lpszField
    Ein Zeiger auf eine auf NULL endende Zeichenfolge, die den Namen eines Felds in der Tabelle enthält (mit dem Namen durch lpszTable).

  • lpszForeignField
    Ein Zeiger auf eine auf NULL endende Zeichenfolge, die den Namen eines Felds in der fremden Tabelle enthält (mit dem Namen durch lpszForeignTable).

  • relinfo
    Ein Verweis auf einen CDaoRelationInfo-Objekt, das Informationen über die Beziehung enthält, möchten Sie erstellen.

Hinweise

Die Beziehung kann eine Abfrage oder eine umschlossene Tabelle von einer externen Datenbank nicht beinhalten.

Verwenden Sie die erste Version der Funktion, wenn die Beziehung ein Feld in jeder der beiden Tabellen einschließt.Verwenden Sie die zweite Version, wenn die Beziehung mehrere Felder einschließt.Die maximale Anzahl von Feldern in einer Beziehung ist 14.

Diese Aktion wird ein zugrunde liegendes DAO-Beziehungsobjekt, dies ist jedoch ein MFC-Implementierungsdetail Kapselung, wie MFC von Beziehungsobjekten innerhalb der Klasse CDaoDatabase enthalten ist.MFC stellt keine Klasse für Beziehungen.

Wenn Sie löschen Objekt-Attribute nur die Beziehungs, zum überlappender Vorgängen, die Updates des Datenbankmoduls automatisch zu aktivieren oder Datensätze in einem oder mehreren anderen Tabellen, wenn Änderungen an den zugehörigen Primärschlüsseltabellen vorgenommen werden.

Angenommen, Sie eine Löschweitergabebeziehung zwischen einer Kundentabelle und einer Tabelle Orders erstellen.Wenn Sie Datensätze aus den Kunden Tabelle löschen, werden die Datensätze in der Tabelle Orders, die diesem Kunden verknüpft wird, ebenfalls gelöscht.Wenn Sie Löschweitergabebeziehungen zwischen der Tabelle Orders und anderen Tabellen erstellen, werden Datensätze aus diesen Tabellen automatisch gelöscht, wenn Sie Datensätze aus der Tabelle löschen.

Weitere Informationen finden Sie im Thema "CreateRelations-Methode" in der DAO-Hilfe.

Anforderungen

Header: afxdao.h

Siehe auch

Referenz

CDaoDatabase-Klasse

Hierarchien-Diagramm

CDaoDatabase::DeleteRelation