Constraint Sınıf

Tanım

Bir veya daha fazla DataColumn nesne üzerinde zorunlu kılınabilecek bir kısıtlamayı temsil eder.

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
Devralma
Constraint
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki örnek, için DataTable kısıtlamaların koleksiyonunu inceler ve her kısıtlamanın bir UniqueConstraint veya ForeignKeyConstraintolup olmadığını belirler. Kısıtlamanın özellikleri daha sonra görüntülenir.

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

Açıklamalar

Kısıtlama, içindeki DataTableverilerin bütünlüğünü korumak için kullanılan bir kuraldır. Örneğin, bir veya daha fazla ilişkili tabloda kullanılan bir değeri sildiğinizde, ForeignKeyConstraint ilişkili tablolardaki değerlerin de silinip silinmeyeceğini, null değerlere ayarlandığını, varsayılan değerlere ayarlandığını veya hiçbir eylem gerçekleşmediğini belirler. UniqueConstraintÖte yandan, yalnızca belirli bir tablodaki tüm değerlerin benzersiz olmasını sağlar. Daha fazla bilgi için bkz. DataTable Kısıtlamaları.

Temel Constraint oluşturucu kullanılmaz. Birincil veya benzersiz anahtar kısıtlamaları oluşturucu kullanılarak UniqueConstraint oluşturulur ve yabancı anahtar kısıtlamaları oluşturucu kullanılarak ForeignKeyConstraint oluşturulur.

Oluşturucular

Constraint()

Constraint sınıfının yeni bir örneğini başlatır.

Özellikler

_DataSet

Bu kısıtlamanın DataSet ait olduğu değeri alır.

ConstraintName

içindeki ConstraintCollectionbir kısıtlamanın adı.

ExtendedProperties

Kullanıcı tanımlı kısıtlama özelliklerinin koleksiyonunu alır.

Table

Kısıtlamanın DataTable uygulandığı değeri alır.

Yöntemler

CheckStateForProperty()

Bu kısıtlamanın DataSet ait olduğu değeri alır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetDataSet(DataSet)

Kısıtlamanın DataSetöğesini ayarlar.

ToString()

ConstraintNamevarsa dize olarak öğesini alır.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu tür, çok iş parçacıklı okuma işlemleri için güvenlidir. Mevcut yazma işlemlerini eşitlemeniz gerekir.

Ayrıca bkz.