CDaoRelationInfo 结构

CDaoRelationInfo 结构包含有关在 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
};

参数

m_strName
唯一命名关系对象。 有关详细信息,请参阅 DAO 帮助中的“Name 属性”主题。

m_strTable
命名关系中的主表。

m_strForeignTable
命名关系中的外表。 外表是用于包含外键的表。 通常,使用外表建立或强制实施引用完整性。 外部表通常位于一对多关系的多方面。 外表的示例包括包含美国各州或加拿大各省或客户订单代码的表。

m_lAttributes
包含有关关系类型的信息。 该成员的值可以是下列任意值:

  • dbRelationUnique 关系是一对一的。

  • dbRelationDontEnforce 不强制实施关系(没有引用完整性)。

  • dbRelationInherited 关系存在于包含两个附加表的非当前数据库中。

  • dbRelationLeft 关系为左联接。 左外部联接包括两个表的第一个表(左侧)中的所有记录,即使第二个表(右侧)中的记录没有匹配值。

  • dbRelationRight 关系为右联接。 右外部联接包括两个表的第二个表(右侧)中的所有记录,即使第一个表(左侧)中的记录没有匹配值。

  • dbRelationUpdateCascade 更新将级联。

  • dbRelationDeleteCascade 删除将级联。

m_pFieldInfos
指向 CDaoRelationFieldInfo 结构数组的指针。 该数组包含关系中每个字段的一个对象。 m_nFields 数据成员提供数组元素的计数。

m_nFields
m_pFieldInfos 数据成员中的 CDaoRelationFieldInfo 对象数。

备注

上面对 Primary 和 Secondary 的引用表明信息是如何由类 CDaoDatabase 中的 GetRelationInfo 成员函数返回的。

关系对象不由 MFC 类表示。 相反,CDaoDatabase 类的 MFC 对象下的 DAO 对象维护关系对象的集合:CDaoDatabase 提供成员函数来访问某些单独的关系信息项,你也可以通过调用包含数据库对象的 GetRelationInfo 成员函数使用 CDaoRelationInfo 对象一次性访问它们。

CDaoDatabase::GetQueryDefInfo 成员函数检索的信息存储在 CDaoRelationInfo 结构中。 CDaoRelationInfo 还在调试生成中定义了一个 Dump 成员函数。 可使用 Dump 来转储 CDaoRelationInfo 对象的内容。

要求

标头:afxdao.h

另请参阅

CDaoRelationFieldInfo 结构