Struttura CDaoRelationInfo
La struttura di CDaoRelationInfo contiene informazioni su una relazione definita tra i campi di due tabelle in un oggetto di CDaoDatabase.
struct CDaoRelationInfo
{
CDaoRelationInfo( ); // Constructor
CString m_strName; // Primary
CString m_strTable; // Primary
CString m_strForeignTable; // Primary
long m_lAttributes; // Secondary
CDaoRelationFieldInfo* m_pFieldInfos; // Secondary
short m_nFields; // Secondary
// Below the // Implementation comment:
// Destructor, not otherwise documented
};
Parametri
m_strName
In modo univoco assegnare all'oggetto relazione. Per ulteriori informazioni, vedere l'argomento "proprietà name" nella Guida di DAO.m_strTable
Assegnare alla tabella primaria nella relazione.m_strForeignTable
Assegnare alla tabella esterna della relazione. Una tabella esterna è una tabella utilizzata per contenere le chiavi esterne. In genere, si utilizza una tabella esterna per stabilire o imporre l'integrità referenziale. La tabella esterna è in genere molti lato di una relazione uno-a-molti. Esempi di tabelle esterne sono incluse tabelle contenenti codici per gli stati o le americani province canadesi o gli ordini del cliente.m_lAttributes
Contiene informazioni sul tipo di relazione. Il valore del membro può essere uno dei seguenti valori:la relazione didbRelationUniqueè uno-a-uno.
la relazione didbRelationDontEnforcenon applicabile (nessuna integrità referenziale).
la relazione didbRelationInherited esiste in un database non corrente che contiene le due tabelle collegate.
dbRelationLeft la relazione è un join di sinistra. Un left outer join include tutti i record dal primo (a sinistra) di due tabelle, anche se non sono presenti valori corrispondenti per i record nella seconda tabella (hand destra).
dbRelationRight la relazione è un right join. Un right outer join include tutti i record da secondi (mano destra) di due tabelle, anche se non sono presenti valori corrispondenti per i record della prima tabella (a sinistra).
gli aggiornamenti didbRelationUpdateCascadeinoltre tendono a propagarsi a cascata.
eliminazione didbRelationDeleteCascadeinoltre tendono a propagarsi a cascata.
m_pFieldInfos
Un puntatore a una matrice di strutture CDaoRelationFieldInfo. La matrice contiene un oggetto per ogni campo della relazione. Il membro dati di m_nFields fornisce un conteggio di elementi di matrice.m_nFields
Il numero di CDaoRelationFieldInfo oggetti nel membro dati di m_pFieldInfos.
Note
I riferimenti al di sopra principale e secondario indicano quali le informazioni restituite dalla funzione membro di GetRelationInfo nella classe CDaoDatabase.
Gli oggetti di relazione non sono rappresentati da una classe MFC. Al contrario, l'oggetto di DAO sottostante a un oggetto MFC della classe di CDaoDatabase gestisce una raccolta di oggetti relazione: CDaoDatabase fornisce le funzioni membro per accedere ai singoli elementi di informazioni di relazione, oppure è possibile accedervi contemporaneamente a un oggetto di CDaoRelationInfo chiamando la funzione membro di GetRelationInfo dell'oggetto di database contenitore.
Le informazioni recuperate dalla funzione membro di CDaoDatabase::GetRelationInfo vengono archiviate in una struttura di CDaoRelationInfo. CDaoRelationInfo definisce anche una funzione membro di Dump nelle build di debug. È possibile utilizzare Dump per eseguire il dump del contenuto di un oggetto di CDaoRelationInfo.
Requisiti
Intestazione: afxdao.h