该 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
m_pFieldInfos 数据成员中的 CDaoRelationFieldInfo 对象数。
备注
上面对 Primary 和 Secondary 的引用表明信息是如何由类 CDaoDatabase 中的 GetRelationInfo 成员函数返回的。
关系对象不由 MFC 类表示。 相反,CDaoDatabase 类的 MFC 对象下的 DAO 对象维护关系对象的集合:CDaoDatabase 提供成员函数来访问某些单独的关系信息项,你也可以通过调用包含数据库对象的 GetRelationInfo 成员函数使用 CDaoRelationInfo 对象一次性访问它们。
CDaoDatabase::GetQueryDefInfo 成员函数检索的信息存储在 CDaoRelationInfo 结构中。 CDaoRelationInfo 还在调试生成中定义了一个 Dump 成员函数。 可使用 Dump 来转储 CDaoRelationInfo 对象的内容。
要求
标头:afxdao.h