CDaoRelationInfo 구조체
구조체에는 CDaoRelationInfo
개체에 있는 두 테이블 CDaoDatabase
의 필드 간에 정의된 관계에 대한 정보가 포함됩니다.
참고 항목
DAO는 Office 2013까지 지원됩니다. DAO 3.6은 최종 버전이며 사용되지 않는 것으로 간주됩니다.
구문
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
};
매개 변수
m_strName
관계 개체의 이름을 고유하게 지정합니다. 자세한 내용은 DAO 도움말의 "Name 속성" 항목을 참조하세요.
m_strTable
관계의 기본 테이블 이름을 지정합니다.
m_strForeignTable
관계의 외할 테이블 이름을 지정합니다. 외세 테이블은 외세 키를 포함하는 데 사용되는 테이블입니다. 일반적으로 외용 테이블을 사용하여 참조 무결성을 설정하거나 적용합니다. 외세 테이블은 일반적으로 일대다 관계의 여러 측면에 있습니다. 외지 테이블의 예로는 미국 주 또는 캐나다 주 또는 고객 주문에 대한 코드가 포함된 테이블이 있습니다.
m_lAttributes
관계 유형에 대한 정보를 포함합니다. 이 멤버의 값은 다음 중 어느 것이든 될 수 있습니다.
dbRelationUnique
관계는 일대일입니다.dbRelationDontEnforce
관계가 적용되지 않습니다(참조 무결성 없음).dbRelationInherited
관계는 연결된 두 테이블을 포함하는 비귀류 데이터베이스에 존재합니다.dbRelationLeft
관계는 왼쪽 조인입니다. 왼쪽 외부 조인은 두 번째(오른쪽) 테이블에 레코드에 일치하는 값이 없더라도 두 테이블의 첫 번째(왼쪽)에 있는 모든 레코드를 포함합니다.dbRelationRight
관계는 올바른 조인입니다. 오른쪽 외부 조인은 첫 번째(왼쪽) 테이블에 레코드에 일치하는 값이 없더라도 두 테이블의 두 번째(오른쪽)의 모든 레코드를 포함합니다.dbRelationUpdateCascade
업데이트는 연속됩니다.dbRelationDeleteCascade
삭제는 연속됩니다.
m_pFieldInfos
CDaoRelationFieldInfo 구조체의 배열에 대한 포인터입니다. 배열에는 관계의 각 필드에 대해 하나의 개체가 포함됩니다. 데이터 멤버는 m_nFields
배열 요소의 수를 제공합니다.
m_nFields
데이터 멤버의 CDaoRelationFieldInfo
개체 수 m_pFieldInfos
입니다.
설명
위의 기본 및 보조에 대한 참조는 클래스CDaoDatabase
의 GetRelationInfo 멤버 함수에서 정보를 반환하는 방법을 나타냅니다.
관계 개체는 MFC 클래스로 표현되지 않습니다. 대신 클래스의 CDaoDatabase
MFC 개체를 기본으로 하는 DAO 개체는 관계 개체 CDaoDatabase
의 컬렉션을 유지 관리합니다. 즉, 관계 정보의 일부 개별 항목에 액세스하기 위해 멤버 함수를 제공하거나 포함하는 데이터베이스 개체의 멤버 함수를 호출 GetRelationInfo
하여 개체를 사용하여 CDaoRelationInfo
한 번에 모두 액세스할 수 있습니다.
CDaoDatabase::GetRelationInfo 멤버 함수에서 검색한 정보는 구조체에 CDaoRelationInfo
저장됩니다. CDaoRelationInfo
도 디버그 빌드에서 Dump
멤버 함수를 정의합니다. Dump
를 사용하여 CDaoRelationInfo
개체의 콘텐츠를 덤프할 수 있습니다.
요구 사항
머리글: afxdao.h