Constraint Klas

Definitie

Vertegenwoordigt een beperking die kan worden afgedwongen voor een of meer DataColumn objecten.

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

Voorbeelden

In het volgende voorbeeld wordt de verzameling beperkingen voor een DataTable onderzocht en wordt bepaald of elke beperking een UniqueConstraint of een ForeignKeyConstraintis. De eigenschappen van de beperking worden vervolgens weergegeven.

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

Opmerkingen

Een beperking is een regel die wordt gebruikt om de integriteit van de gegevens in de DataTable. Wanneer u bijvoorbeeld een waarde verwijdert die wordt gebruikt in een of meer gerelateerde tabellen, ForeignKeyConstraint wordt bepaald of de waarden in de gerelateerde tabellen ook worden verwijderd, ingesteld op null-waarden, op standaardwaarden worden ingesteld of dat er geen actie wordt uitgevoerd. Een UniqueConstraint, daarentegen, zorgt ervoor dat alle waarden in een bepaalde tabel uniek zijn. Zie DataTable-beperkingen voor meer informatie.

Er wordt geen basisconstructor Constraint gebruikt. Primaire of unieke sleutelbeperkingen worden gemaakt met behulp van de UniqueConstraint constructor en externe-sleutelbeperkingen worden gemaakt met behulp van de ForeignKeyConstraint constructor.

Constructors

Name Description
Constraint()

Initialiseert een nieuw exemplaar van de Constraint klasse.

Eigenschappen

Name Description
_DataSet

Hiermee haalt u de DataSet waartoe deze beperking behoort.

ConstraintName

De naam van een beperking in de ConstraintCollection.

ExtendedProperties

Hiermee haalt u de verzameling door de gebruiker gedefinieerde beperkingseigenschappen op.

Table

Hiermee haalt u de DataTable beperking op waarop de beperking van toepassing is.

Methoden

Name Description
CheckStateForProperty()

Hiermee haalt u de DataSet waartoe deze beperking behoort.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
SetDataSet(DataSet)

Hiermee stelt u de beperking in DataSet.

ToString()

Hiermee haalt u de ConstraintName, als er een is, als een tekenreeks.

Van toepassing op

Veiligheid thread

Dit type is veilig voor leesbewerkingen met meerdere leesbewerkingen. U moet schrijfbewerkingen synchroniseren.

Zie ook