CDaoDatabase::CreateRelation
Chiamare la funzione membro per stabilire una relazione tra uno o più campi in una tabella primaria nel database e uno o più campi in una tabella esterna in un'altra tabella del database.
void CreateRelation(
LPCTSTR lpszName,
LPCTSTR lpszTable,
LPCTSTR lpszForeignTable,
long lAttributes,
LPCTSTR lpszField,
LPCTSTR lpszForeignField
);
void CreateRelation(
CDaoRelationInfo& relinfo
);
Parametri
lpszName
Il nome univoco dell'oggetto relazione.Il nome deve iniziare con una lettera e può contenere un massimo di 40 caratteri.Può includere numeri e caratteri di sottolineatura ma non può contenere punteggiatura o spazi.lpszTable
Il nome della tabella primaria nella relazione.Se la tabella non esiste, MFC genera un'eccezione di tipo CDaoException.lpszForeignTable
Il nome della tabella esterna della relazione.Se la tabella non esiste, MFC genera un'eccezione di tipo CDaoException.lAttributes
Un valore lungo contenente informazioni sul tipo di relazione.È possibile utilizzare questo valore per imporre l'integrità referenziale, tra l'altro.È possibile utilizzare l'operatore OR bit per bit**|**) per combinare uno dei seguenti valori (se la combinazione significativo):La relazione didbRelationUnique viene operata.
La relazione didbRelationDontEnforce non applicabile (nessuna integrità referenziale).
La relazione didbRelationInherited esiste in un database non corrente contenente le due tabelle collegate.
Gli aggiornamenti didbRelationUpdateCascade si sovrapposti (per ulteriori su sovrapposizioni, vedere i commenti).
Eliminazione didbRelationDeleteCascade si sovrapposti.
lpszField
Un puntatore a una stringa con terminazione null contenente il nome di un campo della tabella primaria (denominata da lpszTable).lpszForeignField
Un puntatore a una stringa con terminazione null contenente il nome di un campo nella tabella esterna (denominata da lpszForeignTable).relinfo
Un riferimento a un oggetto CDaoRelationInfo che contiene informazioni sulla relazione che si desidera creare.
Note
La relazione non può includere una query o una tabella collegata di un database esterno.
Utilizzare la prima versione della funzione quando la relazione include un campo in ciascuna delle due tabelle.Utilizzare la seconda versione quando la relazione include più campi.Numero massimo dei campi di una relazione è 14.
Attraverso questa azione viene creato un oggetto sottostante di relazione di DAO, che è un dettaglio di implementazione MFC poiché l'incapsulamento di MFC di oggetti di relazione è contenuto in una classe CDaoDatabase.MFC non garantisce la classe delle relazioni.
Se si gli attributi dell'oggetto impostato di relazione per attivare le operazioni di sovrapposizione, gli aggiornamenti del motore di database o automaticamente i record di eliminazione in uno o più altre tabelle quando si apportano modifiche alle tabelle correlate di chiave primaria.
Ad esempio, si supponga che possibile definire una relazione di eliminazione di sovrapposizione tra una tabella Customers e una tabella Orders.Quando si elimina i record dalla tabella Customers, i record della tabella correlata Orders a quel cliente vengono eliminati anche.Inoltre, se si stabilisce le relazioni di eliminazione di sovrapposizione tra la tabella Orders e altre tabelle, i record da tali tabelle vengono eliminati quando si elimina i record dalla tabella Customers.
Per informazioni correlate, vedere l'argomento "metodo di CreateRelation" nella Guida di DAO.
Requisiti
Header: afxdao.h