Constraint Klasse

Definition

Stellt eine Einschränkung dar, die für ein oder mehrere DataColumn-Objekte erzwungen werden kann.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))]
[System.Serializable]
public abstract class Constraint
type Constraint = class
Public MustInherit Class Constraint
Vererbung
Constraint
Abgeleitet
Attribute

Beispiele

Im folgenden Beispiel wird die Auflistung der Einschränkungen für eine DataTable überprüft und bestimmt, ob jede Einschränkung UniqueConstraint ein oder ForeignKeyConstraintein ist.The following example examines the collection of constraints for a DataTable and determines whether each constraint is a UniqueConstraint or a ForeignKeyConstraint. Die Eigenschaften der Einschränkung werden dann angezeigt.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) 
           {
               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();
   }
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

Hinweise

Eine Einschränkung ist eine Regel, die verwendet wird, um die Integrität der Daten DataTableim beizubehalten.A constraint is a rule used to maintain the integrity of the data in the DataTable. Wenn Sie z. b. einen Wert löschen, der in einer oder mehreren verknüpften Tabellen verwendet ForeignKeyConstraint wird, bestimmt eine, ob die Werte in den verknüpften Tabellen ebenfalls gelöscht, auf NULL-Werte festgelegt, auf Standardwerte festgelegt oder ob keine Aktion erfolgt.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. Ein UniqueConstraintdagegen stellt sicher, dass alle Werte in einer bestimmten Tabelle eindeutig sind.A UniqueConstraint, on the other hand, just makes sure that all values within a particular table are unique. Weitere Informationen finden Sie unter databel-Einschränkungen.For more information, see DataTable Constraints.

Ein Basiskonstruktor Constraint wird nicht verwendet.A base Constraint constructor is not used. Primary-oder UNIQUE KEY-Einschränkungen werden mit dem UniqueConstraint -Konstruktor erstellt, und FOREIGN KEY-Einschränkungen werden mit ForeignKeyConstraint dem-Konstruktor erstellt.Primary or unique key constraints are created by using the UniqueConstraint constructor, and foreign key constraints are created by using the ForeignKeyConstraint constructor.

Konstruktoren

Constraint()

Initialisiert eine neue Instanz der Constraint-Klasse.Initializes a new instance of the Constraint class.

Eigenschaften

_DataSet

Ruft das DataSet ab, zu dem diese Tabelle gehört.Gets the DataSet to which this constraint belongs.

ConstraintName

Der Name einer Einschränkung in der ConstraintCollection.The name of a constraint in the ConstraintCollection.

ExtendedProperties

Ruft die Auflistung von benutzerdefinierten Einschränkungseigenschaften ab.Gets the collection of user-defined constraint properties.

Table

Ruft die DataTable ab, auf die die Einschränkung angewendet wird.Gets the DataTable to which the constraint applies.

Methoden

CheckStateForProperty()

Ruft das DataSet ab, zu dem diese Tabelle gehört.Gets the DataSet to which this constraint belongs.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
SetDataSet(DataSet)

Legt das DataSet der Einschränkung fest.Sets the constraint's DataSet.

ToString()

Ruft den ConstraintName (falls vorhanden) als Zeichenfolge ab.Gets the ConstraintName, if there is one, as a string.

Gilt für:

Threadsicherheit

Dieser Typ ist für multithreadlesevorgänge sicher.This type is safe for multithreaded read operations. Sie müssen alle Schreibvorgänge synchronisieren.You must synchronize any write operations.

Siehe auch