Constraint Constraint Constraint Constraint Class

Definizione

Rappresenta un vincolo che può essere applicato a uno o più oggetti DataColumn.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
Ereditarietà
ConstraintConstraintConstraintConstraint
Derivato
Attributi

Esempi

Nell'esempio seguente viene esaminata la raccolta di vincoli per DataTable un oggetto e UniqueConstraint viene determinato se ogni vincolo è ForeignKeyConstrainto.The following example examines the collection of constraints for a DataTable and determines whether each constraint is a UniqueConstraint or a ForeignKeyConstraint. Verranno quindi visualizzate le proprietà del vincolo.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

Commenti

Un vincolo è una regola utilizzata per mantenere l'integrità dei dati nell'oggetto DataTable.A constraint is a rule used to maintain the integrity of the data in the DataTable. Ad esempio, quando si elimina un valore utilizzato in una o più tabelle correlate, un oggetto ForeignKeyConstraint determina se vengono eliminati anche i valori nelle tabelle correlate, impostare su valori null, impostare i valori predefiniti o se non si verifica alcuna azione.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. Un UniqueConstraintoggetto, d'altra parte, garantisce solo che tutti i valori all'interno di una determinata tabella siano univoci.A UniqueConstraint, on the other hand, just makes sure that all values within a particular table are unique. Per altre informazioni, vedere vincoli DataTable.For more information, see DataTable Constraints.

Un costruttore Constraint di base non viene utilizzato.A base Constraint constructor is not used. I vincoli di chiave primaria o univoca vengono creati UniqueConstraint tramite il costruttore e i vincoli di chiave esterna vengono creati ForeignKeyConstraint tramite il costruttore.Primary or unique key constraints are created by using the UniqueConstraint constructor, and foreign key constraints are created by using the ForeignKeyConstraint constructor.

Costruttori

Constraint() Constraint() Constraint() Constraint()

Inizializza una nuova istanza della classe Constraint.Initializes a new instance of the Constraint class.

Proprietà

ConstraintName ConstraintName ConstraintName ConstraintName

Nome di un vincolo nell'insieme ConstraintCollection.The name of a constraint in the ConstraintCollection.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Ottiene l'insieme delle proprietà dei vincoli definiti dall'utente.Gets the collection of user-defined constraint properties.

Table Table Table Table

Ottiene l'oggetto DataTable a cui viene applicato il vincolo.Gets the DataTable to which the constraint applies.

_DataSet _DataSet _DataSet _DataSet

Ottiene la classe DataSet cui il vincolo appartiene.Gets the DataSet to which this constraint belongs.

Metodi

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() CheckStateForProperty()

Ottiene la classe DataSet cui il vincolo appartiene.Gets the DataSet to which this constraint belongs.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet)

Imposta la classe DataSet del vincolo.Sets the constraint's DataSet.

ToString() ToString() ToString() ToString()

Ottiene la proprietà ConstraintName, se presente, sotto forma di stringa.Gets the ConstraintName, if there is one, as a string.

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura multithread.This type is safe for multithreaded read operations. È necessario sincronizzare le operazioni di scrittura.You must synchronize any write operations.

Vedi anche