CDaoRelationInfo Structure
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at CDaoRelationInfo Structure.
The CDaoRelationInfo
structure contains information about a relation defined between fields of two tables in a CDaoDatabase object.
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
Uniquely names the relation object. For more information, see the topic "Name Property" in DAO Help.
m_strTable
Names the primary table in the relation.
m_strForeignTable
Names the foreign table in the relation. A foreign table is a table used to contain foreign keys. Generally, you use a foreign table to establish or enforce referential integrity. The foreign table is usually on the many side of a one-to-many relationship. Examples of foreign tables include tables containing codes for the American states or Canadian provinces or customer orders.
m_lAttributes
Contains information about the relation type. The value of this member can be any of the following:
dbRelationUnique Relationship is one-to-one.
dbRelationDontEnforce Relationship is not enforced (no referential integrity).
dbRelationInherited Relationship exists in a noncurrent database that contains the two attached tables.
dbRelationLeft The relationship is a left join. A left outer join includes all of the records from the first (left-hand) of two tables, even if there are no matching values for records in the second (right-hand) table.
dbRelationRight The relationship is a right join. A right outer join includes all of the records from the second (right-hand) of two tables, even if there are no matching values for records in the first (left-hand) table.
dbRelationUpdateCascade Updates will cascade.
dbRelationDeleteCascade Deletions will cascade.
m_pFieldInfos
A pointer to an array of CDaoRelationFieldInfo structures. The array contains one object for each field in the relation. The m_nFields
data member gives a count of the array elements.
m_nFields
The number of CDaoRelationFieldInfo
objects in the m_pFieldInfos
data member.
The references to Primary and Secondary above indicate how the information is returned by the GetRelationInfo member function in class CDaoDatabase
.
Relation objects are not represented by an MFC class. Instead, the DAO object underlying an MFC object of the CDaoDatabase
class maintains a collection of relation objects: CDaoDatabase
supplies member functions to access some individual items of relation information, or you can access them all at once with a CDaoRelationInfo
object by calling the GetRelationInfo
member function of the containing database object.
Information retrieved by the CDaoDatabase::GetRelationInfo member function is stored in a CDaoRelationInfo
structure. CDaoRelationInfo
also defines a Dump
member function in debug builds. You can use Dump
to dump the contents of a CDaoRelationInfo
object.
Header: afxdao.h