CDaoDatabase::CreateRelation

void CreateRelation (LPCTSTR lpszName, LPCTSTR lpszTable,LPCTSTR lpszForeignTablelargos lAttributes, LPCTSTR lpszField,LPCTSTR lpszForeignField );
Tiro (CDaoException, CMemoryException);

void Cre&ateRelation (CDaoRelationInfoamp;relinfo );
Tiro (CDaoException, CMemoryException);

Parámetros

lpszName

El nombre único del objeto de relación. El nombre debe comenzar con una letra y puede contener un máximo de 40 caracteres. Puede incluir números y caracteres de subrayado pero no puede incluir signos de puntuación o espacios.

lpszTable

El nombre de la tabla principal en la relación. Si la tabla no existe, MFC produce una excepción de tipo CDaoException.

lpszForeignTable

El nombre de la tabla externa en la relación. Si la tabla no existe, MFC produce una excepción de tipo CDaoException.

lAttributes

Valor de tipo long que contiene información sobre el tipo de relación. Puede utilizar este valor para exigir la integridad referencial, entre otras cosas. Puede utilizar el operador OR bit a bit (|) para combinar cualquiera de los siguientes valores (siempre y cuando la combinación tiene sentido):

lpszField

Un puntero a una cadena terminada en nulo que contiene el nombre de un campo en la tabla principal (llamado por lpszTable).

lpszForeignField

Un puntero a una cadena terminada en nulo que contiene el nombre de un campo en la tabla externa (nombrado por lpszForeignTable).

relinfo

Una referencia a un objeto CDaoRelationInfo que contiene información acerca de la relación que desea crear.

Observaciones

Llame a esta función miembro para establecer a una relación entre uno o más campos en una tabla en la base de datos principal y uno o más campos en una tabla externa (otra tabla en la base de datos). La relación no puede implicar una consulta o una tabla de una base de datos externa asociada.

Utilice la primera versión de la función cuando la relación implica un campo en cada una de las dos tablas. Utilice la segunda versión cuando la relación involucra varios campos. El número máximo de campos en una relación es 14.

Esta acción crea un objeto de relación de DAO subyacente, pero esto es un detalle de implementación de MFC ya encapsulación de MFC de los objetos de relación está contenida dentro de la clase CDaoDatabase. MFC no proporciona una clase de relaciones.

Si se establece a la relación de los atributos del objeto para activar las operaciones en cascada, el motor de base de datos automáticamente actualiza o elimina registros de una o más tablas cuando se realizan cambios en las tablas relacionadas de claves primarias.

Por ejemplo, supongamos que establece una relación de eliminación en cascada entre una tabla de clientes y la tabla pedidos. Al eliminar registros de la tabla Customers, también se eliminan los registros de la tabla de pedidos relacionados con ese cliente. Además, si establece relaciones de eliminación en cascada entre otras tablas y la tabla pedidos, registros de las tablas se eliminan automáticamente al eliminar registros de la tabla Customers.

Para obtener información relacionada, vea el tema "Método CreateRelation" en la ayuda de DAO.

I&ntroducción a CDaoDatabase |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambié&nnbsp;CDaoDatabase::DeleteRelation

Index