Constraint クラス
アセンブリ: System.Data (system.data.dll 内)


制約は、DataTable 内のデータの整合性を保持するための規則です。たとえば、1 つ以上の関連テーブルで使用されている値を削除する場合に、関連テーブル内のその値も削除するか、null 値に設定するか、既定値に設定するか、またはアクションを何も実行しないかを ForeignKeyConstraint によって決定します。これに対して、UniqueConstraint は、特定のテーブル内のすべての値が一意であるようにする制約です。詳細については、「テーブルへの制約の追加」を参照してください。
基本 Constraint コンストラクタは使用されません。主キー制約または一意キー制約を作成するには UniqueConstraint コンストラクタを使用し、外部キー制約を作成するには ForeignKeyConstraint コンストラクタを使用します。

DataTable の制約コレクションを調べて、各制約が UniqueConstraint または ForeignKeyConstraint のどちらであるかを確認する例を次に示します。制約のプロパティが次に表示されます。
Private Sub GetConstraints(dataTable As DataTable) Console.WriteLine() ' Print the table's name. Console.WriteLine("TableName: " & dataTable.TableName) ' Iterate through the collection and print ' each name and type value. Dim constraint As Constraint For Each constraint In dataTable.Constraints Console.WriteLine("Constraint Name: " _ & constraint.ConstraintName) Console.WriteLine("Type: " _ & constraint.GetType().ToString()) ' If the constraint is a UniqueConstraint, ' print its properties using a function below. If TypeOf constraint Is UniqueConstraint Then PrintUniqueConstraintProperties(constraint) End If ' If the constraint is a ForeignKeyConstraint, ' print its properties using a function below. If TypeOf constraint Is ForeignKeyConstraint Then PrintForeigKeyConstraintProperties(constraint) End If Next constraint End Sub Private Sub PrintUniqueConstraintProperties( _ constraint As Constraint) Dim uniqueConstraint As UniqueConstraint uniqueConstraint = CType(constraint, UniqueConstraint) ' Get the Columns as an array. Dim columnArray() As DataColumn columnArray = uniqueConstraint.Columns ' Print each column's name. Dim i As Integer For i = 0 To columnArray.Length - 1 Console.WriteLine("Column Name: " _ & columnArray(i).ColumnName) Next i End Sub Private Sub PrintForeigKeyConstraintProperties( _ constraint As Constraint) Dim fkConstraint As ForeignKeyConstraint fkConstraint = CType(constraint, ForeignKeyConstraint) ' Get the Columns as an array. Dim columnArray() As DataColumn columnArray = fkConstraint.Columns ' Print each column's name. Dim i As Integer For i = 0 To columnArray.Length - 1 Console.WriteLine("Column Name: " _ & columnArray(i).ColumnName) Next i Console.WriteLine() ' Get the related columns and print each columns name. columnArray = fkConstraint.RelatedColumns For i = 0 To columnArray.Length - 1 Console.WriteLine("Related Column Name: " _ & columnArray(i).ColumnName) Next i Console.WriteLine() End Sub
private void GetConstraints(DataTable dataTable) { Console.WriteLine(); // Print the table's name. Console.WriteLine("TableName: " + dataTable.TableName); // Iterate through the collection and // print each name and type value. foreach(Constraint constraint in dataTable.Constraints ) { Console.WriteLine("Constraint Name: " + constraint.ConstraintName); Console.WriteLine("Type: " + constraint.GetType().ToString()); // If the constraint is a UniqueConstraint, // print its properties using a function below. if(constraint is UniqueConstraint) { PrintUniqueConstraintProperties(constraint); } // If the constraint is a ForeignKeyConstraint, // print its properties using a function below. if(constraint is ForeignKeyConstraint) { PrintForeigKeyConstraintProperties(constraint); } } } private void PrintUniqueConstraintProperties( Constraint constraint) { UniqueConstraint uniqueConstraint; uniqueConstraint = (UniqueConstraint) constraint; // Get the Columns as an array. DataColumn[] columnArray; columnArray = uniqueConstraint.Columns; // Print each column's name. for(int i = 0;i<columnArray.Length ;i++) { Console.WriteLine("Column Name: " + columnArray[i].ColumnName); } } private void PrintForeigKeyConstraintProperties( Constraint constraint) { ForeignKeyConstraint fkConstraint; fkConstraint = (ForeignKeyConstraint) constraint; // Get the Columns as an array. DataColumn[] columnArray; columnArray = fkConstraint.Columns; // Print each column's name. for(int i = 0;i<columnArray.Length ;i++) { Console.WriteLine("Column Name: " + columnArray[i].ColumnName); } Console.WriteLine(); // Get the related columns and print each columns name. columnArray = fkConstraint.RelatedColumns ; for(int i = 0;i<columnArray.Length ;i++) { Console.WriteLine("Related Column Name: " + columnArray[i].ColumnName); } Console.WriteLine(); }

System.Data.Constraint
System.Data.ForeignKeyConstraint
System.Data.UniqueConstraint


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Constraint メンバ
System.Data 名前空間
ConstraintCollection
Constraints
ForeignKeyConstraint
UniqueConstraint
Constraint コンストラクタ
アセンブリ: System.Data (system.data.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Constraint プロパティ



関連項目
Constraint クラスSystem.Data 名前空間
ConstraintCollection
Constraints
ForeignKeyConstraint
UniqueConstraint
Constraint メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | オーバーライドされます。 ConstraintName がある場合は、この制約名を文字列として取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | SetDataSet | 制約の DataSet を設定します。 |

関連項目
Constraint クラスSystem.Data 名前空間
ConstraintCollection
Constraints
ForeignKeyConstraint
UniqueConstraint
Constraint メンバ
1 つ以上の DataColumn オブジェクトに強制的に適用できる制約を表します。
Constraint データ型で公開されるメンバを以下の表に示します。




名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | オーバーライドされます。 ConstraintName がある場合は、この制約名を文字列として取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | SetDataSet | 制約の DataSet を設定します。 |

関連項目
Constraint クラスSystem.Data 名前空間
ConstraintCollection
Constraints
ForeignKeyConstraint
UniqueConstraint
Weblioに収録されているすべての辞書からConstraintを検索する場合は、下記のリンクをクリックしてください。

- Constraintのページへのリンク