다음을 통해 공유


CDaoDatabase::CreateRelation

하나 이상의 필드가 외래 테이블 (다른 테이블 데이터베이스에서) 기본 데이터베이스에서 테이블에서 하나 이상의 필드 사이의 관계를 설정 하려면이 멤버 함수를 호출 합니다.

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

매개 변수

  • lpszName
    Relation 개체의 고유한 이름입니다.이름은 문자로 시작 해야 하며 최대 40 자까지 포함할 수 있습니다.숫자를 포함할 수 있습니다 및 밑줄 문자가 있지만 문장 부호 나 공백은 포함할 수 없습니다.

  • lpszTable
    관계의 기본 테이블의 이름입니다.테이블에 존재 하지 않는 경우 MFC 형식의 예외가 throw CDaoException.

  • lpszForeignTable
    관계의 외래 테이블의 이름입니다.테이블에 존재 하지 않는 경우 MFC 형식의 예외가 throw CDaoException.

  • lAttributes
    Long 값 관계 형식에 대 한 정보가 들어 있습니다.특히 참조 무결성을 적용 하려면이 값을 사용할 수 있습니다.사용할 수 있는 비트 OR 연산자 (|) (조합 합리적으로) 다음 값 중 하나를 결합 합니다.

    • dbRelationUnique 일대일 관계를 나타냅니다.

    • dbRelationDontEnforce 관계 없는 (참조 무결성)을 적용 합니다.

    • dbRelationInherited 관계가 고정 데이터베이스에 연결 된 두 테이블을 포함 합니다.

    • 일치 업데이트 계단식으로 배열 됩니다 (폭포로에서 자세한 설명 부분 참조).

    • dbRelationDeleteCascade 삭제 계단식으로 배열 됩니다.

  • lpszField
    기본 테이블의 필드 이름이 포함 된 null로 끝나는 문자열에 대 한 포인터 (명명 lpszTable).

  • lpszForeignField
    외래 테이블에 있는 필드의 이름이 포함 된 null로 끝나는 문자열에 대 한 포인터 (명명 lpszForeignTable).

  • relinfo
    참조 하는 CDaoRelationInfo 관계를 만들 정보가 들어 있는 개체입니다.

설명

관계는 외부 데이터베이스에서 연결된 된 테이블 또는 쿼리를 포함할 수 없습니다.

필드에 두 테이블 관계를 사용 하는 경우 첫 번째 버전의 함수를 사용 합니다.관계 필드를 여러 개 사용 하는 경우 두 번째 버전을 사용 합니다.관계 필드의 최대 수는 14입니다.

이 이렇게 내부 DAO relation 개체를 만들지만 MFC의 캡슐화 관계 개체의 클래스 내에 포함 되어 있기 때문에 MFC 구현의 세부 사항이 CDaoDatabase.MFC 클래스 관계를 제공 하지 않습니다.

Cascade 작업을 활성화 하는 개체의 특성 관계를 설정 하는 경우 데이터베이스 엔진이 자동으로 업데이트 하거나 관련된 기본 키 테이블을 변경할 때 하나 이상의 다른 테이블의 레코드를 삭제 합니다.

예를 들어, Customers 테이블과 Orders 테이블 간의 계단식 삭제 관계를 설정 하는 것으로 가정 합니다.Customers 테이블에서 레코드를 삭제 하면 해당 고객과 관련 된 Order 테이블에서의 레코드가 삭제 됩니다.Orders 테이블과 다른 테이블 간의 계단식 삭제 관계를 설정한 경우 Customers 테이블에서 레코드를 삭제 하면 또한 해당 테이블의 레코드를에서 자동으로 삭제 됩니다.

관련된 정보를 보려면 DAO 도움말의 "CreateRelation 메서드" 항목을 참조 하십시오.

요구 사항

헤더: afxdao.h

참고 항목

참조

CDaoDatabase 클래스

계층 구조 차트

CDaoDatabase::DeleteRelation