CDaoRelationInfo 構造体
CDaoRelationInfo 構造体は、CDaoDatabase オブジェクト内の 2 つのテーブルのフィールドの間で定義されるリレーションシップについての情報を保持します。
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 Property」を参照してください。m_strTable
リレーションシップの主テーブル名。m_strForeignTable
リレーションシップの外部キー テーブル名。 外部キー テーブルは外部キーを持つために使われるテーブルです。 一般に、参照整合性を確立または強制するために外部キー テーブルを使います。 外部キー テーブルは、通常一対多リレーションシップの多の側に置かれます。 外部キー側のテーブルの例としては、アメリカの州、カナダの州、顧客の注文などのコードを持つテーブルなどがあります。m_lAttributes
リレーションシップの種類についての情報を保持します。 このメンバーの値は、次の任意の値を持てます。dbRelationUnique リレーションシップは一対一です。
dbRelationDontEnforce リレーションシップは強制されません (参照整合性はありません)。
dbRelationInherited リレーションシップは 2 つのアタッチ テーブルを保持する非現在のデータベースに存在します。
dbRelationLeft リレーションシップは左結合です。 左外部結合は、2 番目 (右側) のテーブルに値が一致するレコードがなくても、最初 (左側) のテーブルのすべてのレコードを含みます。
dbRelationRight リレーションシップは右結合です。 右外部結合は、最初 (左側) のテーブルに値が一致するレコードがなくても、2 番目 (右側) のテーブルのすべてのレコードを含みます。
dbRelationUpdateCascade 更新が連鎖的に行われます。
dbRelationDeleteCascade 削除が連鎖的に行われます。
m_pFieldInfos
CDaoRelationFieldInfo 構造体の配列へのポインター。 この配列は、リレーションシップの各フィールドごとに 1 つのオブジェクトを含みます。 m_nFields データ メンバーは、この配列の要素数を保持します。m_nFields
m_pFieldInfos データ メンバーの CDaoRelationFieldInfo オブジェクトの数。
解説
上の "プライマリ"、"セカンダリ" は、クラス CDaoDatabase の GetRelationInfo メンバー関数によってどの情報が返されるかを示しています。
リレーションシップ オブジェクトは、MFC クラスでは表されません。 代わりに、MFC オブジェクトの基になる DAO オブジェクトはCDaoDatabaseクラス関連オブジェクトのコレクションが保持されます。CDaoDatabase供給メンバー関数の関係について、またはあなたのいくつかの個々 の項目にアクセスすることができますアクセス一度で、CDaoRelationInfoを呼び出してオブジェクト、GetRelationInfoメンバー関数を含むデータベース オブジェクトの。
CDaoDatabase::GetRelationInfo メンバー関数により取得された情報が、CDaoRelationInfo 構造体に格納されます。 デバッグ用のビルドでは、CDaoRelationInfo は Dump メンバー関数を定義しています。 Dump 関数を使って CDaoRelationInfo オブジェクトの内容をダンプできます。
必要条件
**ヘッダー:**afxdao.h