DataRelationとは? わかりやすく解説

DataRelation クラス

2 つの DataTable オブジェクト間の親子リレーションシップ表します

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

public class DataRelation
public ref class DataRelation
public class DataRelation
public class DataRelation
解説解説

DataRelation は、DataColumn オブジェクト通じて 2 つDataTable オブジェクト相互に関連付けるために使用されます。たとえば、Customer/Orders のリレーションシップでは、Customers テーブルがこのリレーションシップの親であり、Orders テーブルが子です。これは、主キー/外部キーリレーションシップ似てます。詳細については、「テーブル間のリレーションシップ移動」を参照してください

リレーションシップは、親テーブル内と子テーブル内の一致する列の間に作成されます。つまり、両方の列の DataType 値が同じである必要があります

リレーションシップによって、親 DataRow から子行へ連鎖変更を行うこともできます。子行の値の変更方法制御するには、ForeignKeyConstraint を DataTable オブジェクトの ConstraintCollection に追加しますConstraintCollection は、親テーブル内の値が削除または更新されたときに実行されるアクション決定します

DataRelation作成されると、最初に、このリレーションシップ設定できるかどうか検証します。DataRelationCollection に追加された後、リレーションシップは、無効にしてしまうような変更一切できないようにすることで保持されます。DataRelation作成されてから、DataRelationCollection追加されるまでの間に、親行または子行に追加変更を行うことができます変更結果リレーションシップ無効になった場合例外生成されます。

DataRelation オブジェクトDataRelationCollection格納されます。このオブジェクトアクセスするには、DataSetRelations プロパティ、および DataTable の ChildRelations プロパティと ParentRelations プロパティ使用します

使用例使用例

新しDataRelation作成しDataSetDataRelationCollection追加する例を次に示します

Private Sub CreateRelation()
    ' Get the DataColumn objects from two DataTable objects 
    ' in a DataSet. Code to get the DataSet not shown here.
    Dim parentColumn As DataColumn = _
        DataSet1.Tables("Customers").Columns("CustID")
    Dim childColumn As DataColumn = DataSet1.Tables(
 _
        "Orders").Columns("CustID")

    ' Create DataRelation.
    Dim relCustOrder As DataRelation
    relCustOrder = New DataRelation( _
        "CustomersOrders", parentColumn, childColumn)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder)
End Sub
private void CreateRelation() 
{
    // Get the DataColumn objects from two DataTable objects 
    // in a DataSet. Code to get the DataSet not shown here.
    DataColumn parentColumn = 
        DataSet1.Tables["Customers"].Columns["CustID"];
    DataColumn childColumn = 
        DataSet1.Tables["Orders"].Columns["CustID"];
    // Create DataRelation.
    DataRelation relCustOrder;
    relCustOrder = new DataRelation("CustomersOrders",
 
        parentColumn, childColumn);
    // Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder);
}
継承階層継承階層
System.Object
  System.Data.DataRelation
スレッド セーフスレッド セーフ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataRelation メンバ
System.Data 名前空間
ChildRelations
DataColumn クラス
DataSet
ForeignKeyConstraint
DataRelationCollection
UniqueConstraint
ParentRelations

DataRelation コンストラクタ (String, DataColumn, DataColumn)

DataRelation 名、および親と子DataColumn オブジェクト指定してDataRelation クラス新しインスタンス初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    relationName As String, _
    parentColumn As DataColumn, _
    childColumn As DataColumn _
)
Dim relationName As String
Dim parentColumn As DataColumn
Dim childColumn As DataColumn

Dim instance As New DataRelation(relationName,
 parentColumn, childColumn)
public DataRelation (
    string relationName,
    DataColumn parentColumn,
    DataColumn childColumn
)
public:
DataRelation (
    String^ relationName, 
    DataColumn^ parentColumn, 
    DataColumn^ childColumn
)
public DataRelation (
    String relationName, 
    DataColumn parentColumn, 
    DataColumn childColumn
)
public function DataRelation (
    relationName : String, 
    parentColumn : DataColumn, 
    childColumn : DataColumn
)

パラメータ

relationName

DataRelation の名前。null 参照 (Visual Basic では Nothing) または空の文字列 ("") の場合は、作成したオブジェクトを DataRelationCollection に追加するときに既定の名前が使用されます。

parentColumn

このリレーションシップの親 DataColumn。

childColumn

このリレーションシップの子 DataColumn

例外例外
例外種類条件

ArgumentNullException

DataColumn オブジェクト一方または両方null 参照 (Visual Basic では Nothing) を格納してます。

InvalidConstraintException

列のデータ型異なります

または

テーブルが同じ DataSet属していません。

使用例使用例

新しDataRelation作成しDataSetDataRelationCollection追加する例を次に示します

 Private Sub CreateRelation()
    ' Code to get the DataSet not shown here.
    ' Get the DataColumn objects from two DataTable 
    ' objects in a DataSet.
    Dim parentCols() As DataColumn = New
 DataColumn() _
        {DataSet1.Tables("Customers").Columns("CustID"),
 _
        DataSet1.Tables("Customers").Columns("OrdID")}
    Dim childCols() As DataColumn = New
 DataColumn() _
        {DataSet1.Tables("Orders").Columns("CustID"),
 _
        DataSet1.Tables("Orders").Columns("OrdID")}

    ' Create DataRelation.
    Dim CustOrderRel As DataRelation = New
 DataRelation( _
        "CustomersOrders", parentCols, childCols)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(CustOrderRel)
End Sub
private void CreateRelation()
{
    // Code to get the DataSet not shown here.
    // Get the DataColumn objects from two DataTable 
    // objects in a DataSet.
    DataColumn[] parentCols = new DataColumn[] 
        {DataSet1.Tables["Customers"].Columns["CustID"],
        DataSet1.Tables["Customers"].Columns["OrdID"]};
    DataColumn[] childCols= new DataColumn[] 
        {DataSet1.Tables["Orders"].Columns["CustID"],
        DataSet1.Tables["Orders"].Columns["OrdID"]};

    // Create DataRelation.
    DataRelation CustOrderRel = new DataRelation(
        "CustomersOrders", parentCols, childCols);

    // Add the relation to the DataSet.
    DataSet1.Relations.Add(CustOrderRel);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataRelation クラス
DataRelation メンバ
System.Data 名前空間
DataColumn クラス
RelationName

DataRelation コンストラクタ (String, String, String, String[], String[], Boolean)

このコンストラクタは、Visual Studio 環境でのデザイン時のサポートのために用意されています。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    relationName As String, _
    parentTableName As String, _
    childTableName As String, _
    parentColumnNames As String(), _
    childColumnNames As String(), _
    nested As Boolean _
)
Dim relationName As String
Dim parentTableName As String
Dim childTableName As String
Dim parentColumnNames As String()
Dim childColumnNames As String()
Dim nested As Boolean

Dim instance As New DataRelation(relationName,
 parentTableName, childTableName, parentColumnNames, childColumnNames, nested)
public DataRelation (
    string relationName,
    string parentTableName,
    string childTableName,
    string[] parentColumnNames,
    string[] childColumnNames,
    bool nested
)
public:
DataRelation (
    String^ relationName, 
    String^ parentTableName, 
    String^ childTableName, 
    array<String^>^ parentColumnNames, 
    array<String^>^ childColumnNames, 
    bool nested
)
public DataRelation (
    String relationName, 
    String parentTableName, 
    String childTableName, 
    String[] parentColumnNames, 
    String[] childColumnNames, 
    boolean nested
)
public function DataRelation (
    relationName : String, 
    parentTableName : String, 
    childTableName : String, 
    parentColumnNames : String[], 
    childColumnNames : String[], 
    nested : boolean
)

パラメータ

relationName

リレーションシップの名前。null 参照 (Visual Basic では Nothing) または空の文字列 ("") の場合は、作成したオブジェクトを DataRelationCollection に追加するときに既定の名前が使用されます。

parentTableName

このリレーションシップの親テーブルである DataTable の名前。

childTableName

このリレーションシップの子テーブルである DataTable の名前。

parentColumnNames

このリレーションシップの親 DataTable 内の DataColumn オブジェクト名の配列

childColumnNames

このリレーションシップの子 DataTable 内の DataColumn オブジェクト名の配列

nested

リレーションシップ入れ子にするかどうかを示す値。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataRelation コンストラクタ (String, String, String, String, String, String[], String[], Boolean)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

このコンストラクタは、Visual Studio 環境でのデザイン時のサポートのために用意されています。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    relationName As String, _
    parentTableName As String, _
    parentTableNamespace As String, _
    childTableName As String, _
    childTableNamespace As String, _
    parentColumnNames As String(), _
    childColumnNames As String(), _
    nested As Boolean _
)
Dim relationName As String
Dim parentTableName As String
Dim parentTableNamespace As String
Dim childTableName As String
Dim childTableNamespace As String
Dim parentColumnNames As String()
Dim childColumnNames As String()
Dim nested As Boolean

Dim instance As New DataRelation(relationName,
 parentTableName, parentTableNamespace, childTableName, childTableNamespace, parentColumnNames,
 childColumnNames, nested)
public DataRelation (
    string relationName,
    string parentTableName,
    string parentTableNamespace,
    string childTableName,
    string childTableNamespace,
    string[] parentColumnNames,
    string[] childColumnNames,
    bool nested
)
public:
DataRelation (
    String^ relationName, 
    String^ parentTableName, 
    String^ parentTableNamespace, 
    String^ childTableName, 
    String^ childTableNamespace, 
    array<String^>^ parentColumnNames, 
    array<String^>^ childColumnNames, 
    bool nested
)
public DataRelation (
    String relationName, 
    String parentTableName, 
    String parentTableNamespace, 
    String childTableName, 
    String childTableNamespace, 
    String[] parentColumnNames, 
    String[] childColumnNames, 
    boolean nested
)
public function DataRelation (
    relationName : String, 
    parentTableName : String, 
    parentTableNamespace : String, 
    childTableName : String, 
    childTableNamespace : String, 
    parentColumnNames : String[], 
    childColumnNames : String[], 
    nested : boolean
)

パラメータ

relationName

DataRelation の名前。null 参照 (Visual Basic では Nothing) または空の文字列 ("") の場合は、作成したオブジェクトを DataRelationCollection に追加するときに既定の名前が使用されます。

parentTableName

このリレーションシップの親テーブルである DataTable の名前。

parentTableNamespace

テーブル名前空間の名前。

childTableName

このリレーションシップの子テーブルである DataTable の名前。

childTableNamespace

テーブル名前空間の名前。

parentColumnNames

このリレーションシップの親 DataTable 内の DataColumn オブジェクト名の配列

childColumnNames

このリレーションシップの子 DataTable 内の DataColumn オブジェクト名の配列

nested

リレーションシップ入れ子にするかどうかを示す値。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataRelation コンストラクタ (String, DataColumn, DataColumn, Boolean)

名前、親と子DataColumn オブジェクト、および制約作成するかどうかを示す値を指定して、DataRelation クラス新しインスタンス初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    relationName As String, _
    parentColumn As DataColumn, _
    childColumn As DataColumn, _
    createConstraints As Boolean _
)
Dim relationName As String
Dim parentColumn As DataColumn
Dim childColumn As DataColumn
Dim createConstraints As Boolean

Dim instance As New DataRelation(relationName,
 parentColumn, childColumn, createConstraints)
public DataRelation (
    string relationName,
    DataColumn parentColumn,
    DataColumn childColumn,
    bool createConstraints
)
public:
DataRelation (
    String^ relationName, 
    DataColumn^ parentColumn, 
    DataColumn^ childColumn, 
    bool createConstraints
)
public DataRelation (
    String relationName, 
    DataColumn parentColumn, 
    DataColumn childColumn, 
    boolean createConstraints
)
public function DataRelation (
    relationName : String, 
    parentColumn : DataColumn, 
    childColumn : DataColumn, 
    createConstraints : boolean
)

パラメータ

relationName

リレーションシップの名前。null 参照 (Visual Basic では Nothing) または空の文字列 ("") の場合は、作成したオブジェクトを DataRelationCollection に追加するときに既定の名前が使用されます。

parentColumn

このリレーションシップの親 DataColumn。

childColumn

このリレーションシップの子 DataColumn

createConstraints

制約作成するかどうかを示す値。制約作成する場合trueそれ以外場合false

例外例外
例外種類条件

ArgumentNullException

DataColumn オブジェクト一方または両方null 参照 (Visual Basic では Nothing) を格納してます。

InvalidConstraintException

列のデータ型異なります

または

テーブルが同じ DataSet属していません。

使用例使用例

新しDataRelation作成しDataSetDataRelationCollection追加する例を次に示します

 Private Sub CreateRelation()
    ' Code to get the DataSet not shown here.
    ' Get the DataColumn objects from two DataTable 
    ' objects in a DataSet.
    Dim parentColumn As DataColumn = DataSet1.Tables(
 _
        "Customers").Columns("CustID")
    Dim childColumn As DataColumn = _
        DataSet1.Tables("Orders").Columns("CustID")

    ' Create DataRelation.
    Dim bConstraints As Boolean
 = True
    Dim customerOrdersRelation As DataRelation
 = _
        New DataRelation("CustomersOrders",
 _
        parentColumn, childColumn, bConstraints)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(customerOrdersRelation)
End Sub
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataRelation クラス
DataRelation メンバ
System.Data 名前空間
DataColumn クラス
ForeignKeyConstraint
RelationName

DataRelation コンストラクタ (String, DataColumn[], DataColumn[], Boolean)

名前、親と子一致した DataColumn オブジェクト配列、および制約作成するかどうかを示す値を指定して、DataRelation クラス新しインスタンス初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    relationName As String, _
    parentColumns As DataColumn(), _
    childColumns As DataColumn(), _
    createConstraints As Boolean _
)
Dim relationName As String
Dim parentColumns As DataColumn()
Dim childColumns As DataColumn()
Dim createConstraints As Boolean

Dim instance As New DataRelation(relationName,
 parentColumns, childColumns, createConstraints)
public DataRelation (
    string relationName,
    DataColumn[] parentColumns,
    DataColumn[] childColumns,
    bool createConstraints
)
public:
DataRelation (
    String^ relationName, 
    array<DataColumn^>^ parentColumns, 
    array<DataColumn^>^ childColumns, 
    bool createConstraints
)
public DataRelation (
    String relationName, 
    DataColumn[] parentColumns, 
    DataColumn[] childColumns, 
    boolean createConstraints
)
public function DataRelation (
    relationName : String, 
    parentColumns : DataColumn[], 
    childColumns : DataColumn[], 
    createConstraints : boolean
)

パラメータ

relationName

リレーションシップの名前。null 参照 (Visual Basic では Nothing) または空の文字列 ("") の場合は、作成したオブジェクトを DataRelationCollection に追加するときに既定の名前が使用されます。

parentColumns

親 DataColumn オブジェクト配列

childColumns

DataColumn オブジェクト配列

createConstraints

制約作成するかどうかを示す値。制約作成する場合trueそれ以外場合false

例外例外
例外種類条件

ArgumentNullException

DataColumn オブジェクト一方または両方null 参照 (Visual Basic では Nothing) です。

InvalidConstraintException

列のデータ型異なります

または

テーブルが同じ DataSet属していません。

使用例使用例

新しDataRelation作成しDataSetDataRelationCollection追加する例を次に示します

Private Sub CreateRelation()
    ' Code to get the DataSet not shown here.
    ' Get the DataColumn objects from two DataTable 
    ' objects in a DataSet.
    Dim parentColumns() As DataColumn
    Dim childColumns() As DataColumn
    parentColumns(0) = DataSet1.Tables( _
        "Customers").Columns("CustID")
    parentColumns(1) = DataSet1.Tables( _
        "Customers").Columns("OrdID")
 
    childColumns(0) = DataSet1.Tables( _
        "Orders").Columns("CustID")
    childColumns(1) = DataSet1.Tables( _
        "Orders").Columns("OrdID")
 
    Dim bConstraints As Boolean
 = True
    ' Create DataRelation.
    Dim CustOrderRel As DataRelation = New
 DataRelation( _
        "CustomersOrders", parentColumns, childColumns,
  _
        bConstraints)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(CustOrderRel)
End Sub
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataRelation クラス
DataRelation メンバ
System.Data 名前空間
DataColumn クラス
ForeignKeyConstraint
RelationName

DataRelation コンストラクタ

DataRelation クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
DataRelation (String, DataColumn, DataColumn) DataRelation 名、および親と子の DataColumn オブジェクト指定してDataRelation クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

DataRelation (String, DataColumn[], DataColumn[]) DataRelation 名、および親と子一致した DataColumn オブジェクト配列指定してDataRelation クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

DataRelation (String, DataColumn, DataColumn, Boolean) 名前、親と子DataColumn オブジェクト、および制約作成するかどうかを示す値を指定してDataRelation クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

DataRelation (String, DataColumn[], DataColumn[], Boolean) 名前、親と子一致した DataColumn オブジェクト配列、および制約作成するかどうかを示す値を指定してDataRelation クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

DataRelation (String, String, String, String[], String[], Boolean) このコンストラクタは、Visual Studio 環境でのデザイン時のサポートのために用意されています。

.NET Compact Framework によってサポートされています。

DataRelation (String, String, String, String, String, String[], String[], Boolean) このコンストラクタは、Visual Studio 環境でのデザイン時のサポートのために用意されています。
参照参照

関連項目

DataRelation クラス
DataRelation メンバ
System.Data 名前空間
DataColumn クラス
RelationName

DataRelation コンストラクタ (String, DataColumn[], DataColumn[])

DataRelation 名、および親と子一致した DataColumn オブジェクト配列指定してDataRelation クラス新しインスタンス初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    relationName As String, _
    parentColumns As DataColumn(), _
    childColumns As DataColumn() _
)
Dim relationName As String
Dim parentColumns As DataColumn()
Dim childColumns As DataColumn()

Dim instance As New DataRelation(relationName,
 parentColumns, childColumns)
public DataRelation (
    string relationName,
    DataColumn[] parentColumns,
    DataColumn[] childColumns
)
public:
DataRelation (
    String^ relationName, 
    array<DataColumn^>^ parentColumns, 
    array<DataColumn^>^ childColumns
)
public DataRelation (
    String relationName, 
    DataColumn[] parentColumns, 
    DataColumn[] childColumns
)
public function DataRelation (
    relationName : String, 
    parentColumns : DataColumn[], 
    childColumns : DataColumn[]
)

パラメータ

relationName

リレーションシップの名前。null 参照 (Visual Basic では Nothing) または空の文字列 ("") の場合は、作成したオブジェクトを DataRelationCollection に追加するときに既定の名前が使用されます。

parentColumns

親 DataColumn オブジェクト配列

childColumns

DataColumn オブジェクト配列

例外例外
例外種類条件

ArgumentNullException

DataColumn オブジェクト一方または両方null 参照 (Visual Basic では Nothing) を格納してます。

InvalidConstraintException

DataColumn オブジェクトデータ型異なります

または

配列一方または両方が、同じテーブル異なる列で構成されていません。

または

テーブルが同じ DataSet属していません。

使用例使用例

新しDataRelation作成しDataSetDataRelationCollection追加する例を次に示します

Private Sub CreateRelation()
    ' Code to get the DataSet not shown here.
    ' Get the DataColumn objects from two DataTable 
    ' objects in a DataSet.
    Dim parentColumns() As DataColumn
    Dim childColumns() As DataColumn
    parentColumns(0) = DataSet1.Tables( _
        "Customers").Columns("CustID")
    parentColumns(1) = DataSet1.Tables( _
        "Customers").Columns("OrdID")
 
    childColumns(0) = DataSet1.Tables( _
        "Orders").Columns("CustID")
    childColumns(1) = DataSet1.Tables( _
        "Orders").Columns("OrdID")

    ' Create DataRelation.
    Dim CustOrderRel As DataRelation = New
 DataRelation( _
        "CustomersOrders", parentColumns, childColumns)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(CustOrderRel)
End Sub
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataRelation クラス
DataRelation メンバ
System.Data 名前空間
DataColumn クラス
ForeignKeyConstraint
RelationName

DataRelation プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ RelationName DataRelationCollection から DataRelation取得する名前を取得または設定します
参照参照

関連項目

DataRelation クラス
System.Data 名前空間
ChildRelations
DataColumn クラス
DataSet
ForeignKeyConstraint
DataRelationCollection
UniqueConstraint
ParentRelations

DataRelation メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DataRelation クラス
System.Data 名前空間
ChildRelations
DataColumn クラス
DataSet
ForeignKeyConstraint
DataRelationCollection
UniqueConstraint
ParentRelations

DataRelation メンバ

2 つの DataTable オブジェクト間の親子リレーションシップ表します

DataRelation データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ RelationName DataRelationCollection から DataRelation取得する名前を取得または設定します
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DataRelation クラス
System.Data 名前空間
ChildRelations
DataColumn クラス
DataSet
ForeignKeyConstraint
DataRelationCollection
UniqueConstraint
ParentRelations


このページでは「.NET Framework クラス ライブラリ リファレンス」からDataRelationを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDataRelationを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDataRelation を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataRelation」の関連用語

DataRelationのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataRelationのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS