CDaoDatabase::CreateRelation

public static void CreateRelation (LPCTSTR lpszName, LPCTSTR lpszTable,LPCTSTR lpszForeignTable, lungo lAttributes, LPCTSTR lpszField,LPCTSTR lpszForeignField );
tiro (CDaoException, CMemoryException);

public st&atic void CreateRelation (CDaoRelationInfoamp;relinfo );
tiro (CDaoException, CMemoryException);

Parametri

lpszName

Il nome univoco dell'oggetto relation. Il nome deve iniziare con una lettera e può contenere un massimo di 40 caratteri. Esso può includere numeri e sottolineatura caratteri, ma non può includere spazi o punteggiatura.

lpszTable

Il nome della tabella primaria nel rapporto. Se la tabella non esiste, MFC genera un'eccezione di tipo CDaoException.

lpszForeignTable

Il nome della tabella esterna nel rapporto. Se la tabella non esiste, MFC genera un'eccezione di tipo CDaoException.

lAttributes

Un valore long che contiene informazioni sul tipo di relazione. È possibile utilizzare questo valore per applicare l'integrità referenziale, tra le altre cose. È possibile utilizzare l'operatore OR bit per bit (|) per combinare qualsiasi dei seguenti valori (a condizione che la combinazione ha un senso):

lpszField

Puntatore a una stringa null-terminated contenente il nome di un campo nella tabella primaria (il nome di lpszTable).

lpszForeignField

Puntatore a una stringa null-terminated contenente il nome di un campo nella tabella esterna (il nome di lpszForeignTable).

relinfo

Un riferimento a un oggetto CDaoRelationInfo che contiene informazioni sul rapporto che si desidera creare.

Osservazioni

Chiamare questa funzione membro per stabilire una relazione tra uno o più campi di una tabella primaria nel database e uno o più campi di una tabella straniero (un'altra tabella nel database). Il rapporto non può interessare una query o una tabella collegata da un database esterno.

Utilizzare la prima versione della funzione quando la relazione riguarda un campo in ciascuna delle due tabelle. Utilizzare la seconda versione, quando la relazione coinvolge più campi. Il numero massimo di campi in una relazione è 14.

Questa azione crea un oggetto di relazione DAO sottostante, ma questo è un dettaglio di implementazione MFC poiché l'incapsulamento di MFC di oggetti relazione è contenuta all'interno della classe CDaoDatabase. MFC non fornisce una classe per le relazioni.

Se si impostano la relazione gli attributi dell'oggetto per attivare le operazioni di cascata, il motore di database automaticamente Aggiorna o elimina i record in una o più altre tabelle quando vengono apportate modifiche alle tabelle correlate di chiave primarie.

Si supponga, ad esempio, che stabilire una relazione di cancellare cascata tra una tabella Customers e una tabella Orders. Quando si elimina il record della tabella Customers, verranno eliminati anche record nella tabella ordini relativi a quel cliente. Inoltre, se si stabilisce la cascata elimina relazioni tra la tabella Orders e altre tabelle, record da tali tabelle vengono eliminati automaticamente quando si elimina il record della tabella Customers.

Per informazioni correlate, vedere l'argomento "CreateRelation metodo" nella guida di DAO.

Pa&noramica CDaoDatabase |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CDaoDatabase::DeleteRelation

Index