Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Constraint Class

Definition

Namespace:
System.Data
Assemblies:
netstandard.dll, System.Data.Common.dll
Assembly:
System.Data.Common.dll
Assembly:
System.Data.dll
Assembly:
netstandard.dll
Source:
Constraint.cs
Source:
Constraint.cs
Source:
Constraint.cs
Source:
Constraint.cs
Source:
Constraint.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Represents a constraint that can be enforced on one or more DataColumn objects.

public ref class Constraint abstract
[System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))]
public abstract class Constraint
public abstract class Constraint
[System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))]
[System.Serializable]
public abstract class Constraint
[<System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))>]
type Constraint = class
type Constraint = class
[<System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))>]
[<System.Serializable>]
type Constraint = class
Public MustInherit Class Constraint
Inheritance
Constraint
Derived
Attributes

Examples

The following example examines the collection of constraints for a DataTable and determines whether each constraint is a UniqueConstraint or a ForeignKeyConstraint. The properties of the constraint are then displayed.

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)
 {
 PrintForeignKeyConstraintProperties(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 PrintForeignKeyConstraintProperties(
 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();
}
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

Remarks

A constraint is a rule used to maintain the integrity of the data in the DataTable. For example, when you delete a value that is used in one or more related tables, a ForeignKeyConstraint determines whether the values in the related tables are also deleted, set to null values, set to default values, or whether no action occurs. A UniqueConstraint, on the other hand, just makes sure that all values within a particular table are unique. For more information, see DataTable Constraints.

A base Constraint constructor is not used. Primary or unique key constraints are created by using the UniqueConstraint constructor, and foreign key constraints are created by using the ForeignKeyConstraint constructor.

Constructors

Name Description
Constraint()

Initializes a new instance of the Constraint class.

Properties

Name Description
_DataSet

Gets the DataSet to which this constraint belongs.

ConstraintName

The name of a constraint in the ConstraintCollection.

ExtendedProperties

Gets the collection of user-defined constraint properties.

Table

Gets the DataTable to which the constraint applies.

Methods

Name Description
CheckStateForProperty()

Gets the DataSet to which this constraint belongs.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
SetDataSet(DataSet)

Sets the constraint's DataSet.

ToString()

Gets the ConstraintName, if there is one, as a string.

Applies to

Thread Safety

This type is safe for multithreaded read operations. You must synchronize any write operations.

See also


Feedback

Was this page helpful?