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

ConstraintCollection イベント


パブリック イベントパブリック イベント

  名前 説明
パブリック イベント CollectionChanged Constraint オブジェクト追加または削除したことが原因で ConstraintCollection が変更されると、常に発生します
参照参照

関連項目

ConstraintCollection クラス
System.Data 名前空間
ForeignKeyConstraint
UniqueConstraint
DataRelation

ConstraintCollection クラス

DataTable に対す制約コレクション表します

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

Public NotInheritable Class
 ConstraintCollection
    Inherits InternalDataCollectionBase
Dim instance As ConstraintCollection
public sealed class ConstraintCollection :
 InternalDataCollectionBase
public ref class ConstraintCollection sealed
 : public InternalDataCollectionBase
public final class ConstraintCollection extends
 InternalDataCollectionBase
public final class ConstraintCollection extends
 InternalDataCollectionBase
解説解説

ConstraintCollectionアクセスするには、DataTable.Constraints プロパティ使用します

ConstraintCollection は、DataTable対する UniqueConstraint オブジェクトと ForeignKeyConstraint オブジェクト両方を含むことができますUniqueConstraint オブジェクトは、特定の列のデータが常に一意であり、データ整合性保持されるようにします。ForeignKeyConstraint は、DataTable 内のデータ更新または削除され場合関連テーブル内のそのデータどのように処理するかを決定します。たとえば、行を削除したとき、関連行も削除する (連鎖) か、その他のアクション実行するかを ForeignKeyConstraint決定します

メモメモ

2 つテーブル間のリレーションシップ作成する DataRelation を DataSet追加すると、ForeignKeyConstraintUniqueConstraint両方自動的に作成されます。UniqueConstraint が親 DataTable 内の主キー列に適用され、この制約が親テーブルConstraintCollection追加されます。ForeignKeyConstraint主キー列と外部キー列に適用され、この制約が子テーブルConstraintCollection追加されます。

ConstraintCollection は、AddClearRemove など、標準コレクションメソッド使用しますこの他、Contains メソッド使用して特定の制約コレクション含まれるかどうか確認できます

Unique プロパティtrue設定されている DataColumn を DataTable オブジェクトの DataColumnCollection に追加すると、UniqueConstraint作成されます。

DataRelationDataSet オブジェクトの DataRelationCollection に追加すると、ForeignKeyConstraint作成されます。

使用例使用例

DataTable作成しDataColumn (Unique プロパティtrue設定されている) を DataColumnCollection追加する方法最初の例に示しますDataSet1 つDataTable オブジェクト2 つ、列を 4 つDataRelation1 つ作成する方法2 番目の例に示しますDataRelationDataSet オブジェクトの DataRelationCollection に追加したときに ForeignKeyConstraintUniqueConstraint作成されたことを示す制約数が出力されます。

Private Sub MakeTableWithUniqueConstraint()

    Dim table As New DataTable("table")
    Dim column As New DataColumn("UniqueColumn")
    column.Unique = True
    table.Columns.Add(column)

    ' Print count, name, and type.
    Console.WriteLine("Constraints.Count " _
       + table.Constraints.Count.ToString())
    Console.WriteLine(table.Constraints(0).ConstraintName)
    Console.WriteLine( _
        table.Constraints(0).GetType().ToString())

    ' Add a second unique column.
    column = New DataColumn("UniqueColumn2")
    column.Unique = True
    table.Columns.Add(column)

    ' Print info again.
    Console.WriteLine("Constraints.Count " _
       + table.Constraints.Count.ToString())
    Console.WriteLine(table.Constraints(1).ConstraintName)
    Console.WriteLine( _
        table.Constraints(1).GetType().ToString())
End Sub

Private Sub MakeTableWithForeignConstraint()

    ' Create a DataSet.
    Dim dataSet As New DataSet("dataSet")

    ' Make two tables.
    Dim customersTable As New
 DataTable("Customers")
    Dim ordersTable As New
 DataTable("Orders")

    ' Create four columns, two for each table.
    Dim name As New DataColumn("Name")
    Dim id As New DataColumn("ID")
    Dim orderId As New DataColumn("OrderID")
    Dim orderDate As New
 DataColumn("OrderDate")
    
    ' Add columns to tables.
    customersTable.Columns.Add(name)
    customersTable.Columns.Add(id)
    ordersTable.Columns.Add(orderId)
    ordersTable.Columns.Add(orderDate)
    
    ' Add tables to the DataSet.
    dataSet.Tables.Add(customersTable)
    dataSet.Tables.Add(ordersTable)

    ' Create a DataRelation for two of the columns.
    Dim myRelation As New
 DataRelation _
       ("CustomersOrders", id, orderId, True)
    dataSet.Relations.Add(myRelation)

    ' Print TableName, Constraints.Count, 
    ' ConstraintName and Type.
    Dim t As DataTable
    For Each t In  dataSet.Tables
        Console.WriteLine(t.TableName)
        Console.WriteLine("Constraints.Count " _
           + t.Constraints.Count.ToString())
        Console.WriteLine("ParentRelations.Count "
 _
           + t.ParentRelations.Count.ToString())
        Console.WriteLine("ChildRelations.Count "
 _
           + t.ChildRelations.Count.ToString())
        Dim cstrnt As Constraint
        For Each cstrnt In
  t.Constraints
            Console.WriteLine(cstrnt.ConstraintName)
            Console.WriteLine(cstrnt.GetType())
        Next cstrnt
    Next t
End Sub
private void MakeTableWithUniqueConstraint()
{
    DataTable table = new DataTable("table");
    DataColumn column = new DataColumn("UniqueColumn");
    column.Unique=true;
    table.Columns.Add(column);

    // Print count, name, and type.
    Console.WriteLine("Constraints.Count " 
        + table.Constraints.Count);
    Console.WriteLine(table.Constraints[0].ConstraintName);
    Console.WriteLine(table.Constraints[0].GetType() );

    // Add a second unique column.
    column = new DataColumn("UniqueColumn2");
    column.Unique=true;
    table.Columns.Add(column);

    // Print info again.
    Console.WriteLine("Constraints.Count " 
        + table.Constraints.Count);
    Console.WriteLine(table.Constraints[1].ConstraintName);
    Console.WriteLine(table.Constraints[1].GetType() );
}
 
private void MakeTableWithForeignConstraint()
{
    // Create a DataSet.
    DataSet dataSet = new DataSet("dataSet");

    // Make two tables.
    DataTable customersTable= new DataTable("Customers");
    DataTable ordersTable = new DataTable("Orders");

    // Create four columns, two for each table.
    DataColumn name = new DataColumn("Name");
    DataColumn id = new DataColumn("ID");
    DataColumn orderId = new DataColumn("OrderID");
    DataColumn cDate = new DataColumn("OrderDate");
 
    // Add columns to tables.
    customersTable.Columns.Add(name);
    customersTable.Columns.Add(id);
    ordersTable.Columns.Add(orderId);
    ordersTable.Columns.Add(cDate);
 
    // Add tables to the DataSet.
    dataSet.Tables.Add(customersTable);
    dataSet.Tables.Add(ordersTable); 

    // Create a DataRelation for two of the columns.
    DataRelation myRelation = new 
        DataRelation("CustomersOrders",id,orderId,true);
    dataSet.Relations.Add(myRelation);

    // Print TableName, Constraints.Count, 
    // ConstraintName and Type.
    foreach(DataTable t in dataSet.Tables)
    {
        Console.WriteLine(t.TableName);
        Console.WriteLine("Constraints.Count " 
            + t.Constraints.Count);
        Console.WriteLine("ParentRelations.Count " 
            + t.ParentRelations.Count);
        Console.WriteLine("ChildRelations.Count " 
            + t.ChildRelations.Count);
        foreach(Constraint cstrnt in t.Constraints)
        {
            Console.WriteLine(cstrnt.ConstraintName);
            Console.WriteLine(cstrnt.GetType());
        }
    }
}
継承階層継承階層
System.Object
   System.Data.InternalDataCollectionBase
    System.Data.ConstraintCollection
スレッド セーフスレッド セーフ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ConstraintCollection メンバ
System.Data 名前空間
ForeignKeyConstraint
UniqueConstraint
DataRelation

ConstraintCollection プロパティ


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

( プロテクト プロパティ参照)
  名前 説明
パブリック プロパティ Count  コレクション内の要素合計数を取得します。 ( InternalDataCollectionBase から継承されます。)
パブリック プロパティ IsReadOnly  InternalDataCollectionBase が読み取り専用かどうかを示す値を取得します。 ( InternalDataCollectionBase から継承されます。)
パブリック プロパティ IsSynchronized  InternalDataCollectionBase同期がとられているかどうかを示す値を取得します。 ( InternalDataCollectionBase から継承されます。)
パブリック プロパティ Item オーバーロードされます指定した Constraintコレクションから取得します
パブリック プロパティ SyncRoot  コレクション同期をとるために使用できるオブジェクト取得します。 ( InternalDataCollectionBase から継承されます。)
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ List  
参照参照

関連項目

ConstraintCollection クラス
System.Data 名前空間
ForeignKeyConstraint
UniqueConstraint
DataRelation

ConstraintCollection メソッド


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

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Add オーバーロードされますConstraint オブジェクトコレクション追加します
パブリック メソッド AddRange 指定した ConstraintCollection 配列要素コレクション末尾コピーします
パブリック メソッド CanRemove Constraint削除できるかどうか示します
パブリック メソッド Clear すべての Constraint オブジェクトコレクション削除します
パブリック メソッド Contains 名前で指定した Constraint オブジェクトコレクション内に存在するかどうか示します
パブリック メソッド CopyTo オーバーロードされます。  
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetEnumerator  コレクションの IEnumerator を取得します。 ( InternalDataCollectionBase から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド IndexOf オーバーロードされます指定した Constraintインデックス取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Remove オーバーロードされますConstraintCollection から Constraint削除します
パブリック メソッド RemoveAt 指定したインデックス位置にある Constraint オブジェクトコレクションから削除します
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ConstraintCollection クラス
System.Data 名前空間
ForeignKeyConstraint
UniqueConstraint
DataRelation

ConstraintCollection メンバ

DataTable に対す制約コレクション表します

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


パブリック プロパティパブリック プロパティ
( プロテクト プロパティ参照)
  名前 説明
パブリック プロパティ Count  コレクション内の要素合計数を取得します。(InternalDataCollectionBase から継承されます。)
パブリック プロパティ IsReadOnly  InternalDataCollectionBase が読み取り専用かどうかを示す値を取得します。(InternalDataCollectionBase から継承されます。)
パブリック プロパティ IsSynchronized  InternalDataCollectionBase同期がとられているかどうかを示す値を取得します。(InternalDataCollectionBase から継承されます。)
パブリック プロパティ Item オーバーロードされます指定した Constraintコレクションから取得します
パブリック プロパティ SyncRoot  コレクション同期をとるために使用できるオブジェクト取得します。(InternalDataCollectionBase から継承されます。)
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ List  
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Add オーバーロードされますConstraint オブジェクトコレクション追加します
パブリック メソッド AddRange 指定した ConstraintCollection 配列要素コレクション末尾コピーします
パブリック メソッド CanRemove Constraint削除できるかどうか示します
パブリック メソッド Clear すべての Constraint オブジェクトコレクション削除します
パブリック メソッド Contains 名前で指定した Constraint オブジェクトコレクション内に存在するかどうか示します
パブリック メソッド CopyTo オーバーロードされます。  
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetEnumerator  コレクションの IEnumerator を取得します。 (InternalDataCollectionBase から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド IndexOf オーバーロードされます指定した Constraintインデックス取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Remove オーバーロードされますConstraintCollection から Constraint削除します
パブリック メソッド RemoveAt 指定したインデックス位置にある Constraint オブジェクトコレクションから削除します
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
  名前 説明
パブリック イベント CollectionChanged Constraint オブジェクト追加または削除したことが原因で ConstraintCollection が変更されると、常に発生します
参照参照

関連項目

ConstraintCollection クラス
System.Data 名前空間
ForeignKeyConstraint
UniqueConstraint
DataRelation



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

辞書ショートカット

すべての辞書の索引

「ConstraintCollection」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS