次の方法で共有


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 オブジェクトの数。

解説

上の "プライマリ"、"セカンダリ" は、クラス CDaoDatabaseGetRelationInfo メンバー関数によってどの情報が返されるかを示しています。

リレーションシップ オブジェクトは、MFC クラスでは表されません。 代わりに、MFC オブジェクトの基になる DAO オブジェクトはCDaoDatabaseクラス関連オブジェクトのコレクションが保持されます。CDaoDatabase供給メンバー関数の関係について、またはあなたのいくつかの個々 の項目にアクセスすることができますアクセス一度で、CDaoRelationInfoを呼び出してオブジェクト、GetRelationInfoメンバー関数を含むデータベース オブジェクトの。

CDaoDatabase::GetRelationInfo メンバー関数により取得された情報が、CDaoRelationInfo 構造体に格納されます。 デバッグ用のビルドでは、CDaoRelationInfoDump メンバー関数を定義しています。 Dump 関数を使って CDaoRelationInfo オブジェクトの内容をダンプできます。

必要条件

**ヘッダー:**afxdao.h

参照

参照

CDaoRelationFieldInfo 構造体