Partager via


ForeignKeyConstraint Classe

Définition

Représente une restriction d’action appliquée à un ensemble de colonnes dans une relation clé primaire/clé étrangère lorsqu’une valeur ou une ligne est supprimée ou mise à jour.

public ref class ForeignKeyConstraint : System::Data::Constraint
public class ForeignKeyConstraint : System.Data.Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
    inherit Constraint
[<System.Serializable>]
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
Héritage
ForeignKeyConstraint
Attributs

Exemples

L’exemple suivant crée un ForeignKeyConstraint, définit certaines de ses propriétés et l’ajoute à l’objet ConstraintCollectionDataTable .

' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts

Private Sub CreateConstraint()
    ' Declare parent column and child column variables.
    Dim parentColumn As DataColumn
    Dim childColumn As DataColumn
    Dim fkeyConstraint As ForeignKeyConstraint

    ' Set parent and child column variables.
    parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
    childColumn = suppliersProducts.Tables("Products").Columns("SupplierID")
    fkeyConstraint = New ForeignKeyConstraint( _
        "SupplierFKConstraint", parentColumn, childColumn)

    ' Set null values when a value is deleted.
    fkeyConstraint.DeleteRule = Rule.SetNull
    fkeyConstraint.UpdateRule = Rule.Cascade
    fkeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade

    ' Add the constraint, and set EnforceConstraints to true.
    suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
    suppliersProducts.EnforceConstraints = True
End Sub

Remarques

Une ForeignKeyConstraint restriction de l’action effectuée lorsqu’une valeur dans une colonne (ou des colonnes) est supprimée ou mise à jour. Une telle contrainte est destinée à être utilisée avec des colonnes clés primaires. Dans une relation parent/enfant entre deux tables, la suppression d’une valeur de la table parente peut affecter les lignes enfants de l’une des manières suivantes.

  • Les lignes enfants peuvent également être supprimées (une action en cascade).

  • Les valeurs de la colonne enfant (ou des colonnes) peuvent être définies sur des valeurs Null.

  • Les valeurs de la colonne enfant (ou des colonnes) peuvent être définies sur des valeurs par défaut.

  • Une exception peut être générée.

ForeignKeyConstraint les objets sont contenus dans l’objet ConstraintCollection d’un DataTableobjet accessible via la Constraints propriété.

Les contraintes ne sont pas appliquées, sauf si la EnforceConstraints propriété est définie sur true.

L’objet AcceptRejectRule est appliqué chaque fois que la méthode d’un DataTableAcceptChanges objet est appelée.

Constructeurs

Nom Description
ForeignKeyConstraint(DataColumn, DataColumn)

Initialise une nouvelle instance de la ForeignKeyConstraint classe avec les objets parent et enfant DataColumn spécifiés.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Initialise une nouvelle instance de la ForeignKeyConstraint classe avec les tableaux spécifiés d’objets parents et enfants DataColumn .

ForeignKeyConstraint(String, DataColumn, DataColumn)

Initialise une nouvelle instance de la ForeignKeyConstraint classe avec le nom, le parent et les objets enfants DataColumn spécifiés.

ForeignKeyConstraint(String, DataColumn[], DataColumn[])

Initialise une nouvelle instance de la ForeignKeyConstraint classe avec le nom spécifié et les tableaux d’objets parent et enfant DataColumn .

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Ce constructeur est fourni pour la prise en charge du temps de conception dans l’environnement Visual Studio. ForeignKeyConstraint les objets créés à l’aide de ce constructeur doivent ensuite être ajoutés à la collection via AddRange(Constraint[]). Les tables et colonnes avec les noms spécifiés doivent exister au moment où la méthode est appelée, ou si BeginInit() elle a été appelée avant d’appeler ce constructeur, les tables et colonnes avec les noms spécifiés doivent exister au moment de l’appel EndInit() .

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Ce constructeur est fourni pour la prise en charge du temps de conception dans l’environnement Visual Studio. ForeignKeyConstraint les objets créés à l’aide de ce constructeur doivent ensuite être ajoutés à la collection via AddRange(Constraint[]). Les tables et colonnes avec les noms spécifiés doivent exister au moment où la méthode est appelée, ou si BeginInit() elle a été appelée avant d’appeler ce constructeur, les tables et colonnes avec les noms spécifiés doivent exister au moment de l’appel EndInit() .

Propriétés

Nom Description
_DataSet

Obtient l’objet DataSet auquel appartient cette contrainte.

(Hérité de Constraint)
AcceptRejectRule

Indique l’action qui doit se produire dans cette contrainte lorsqu’elle AcceptChanges() est appelée.

Columns

Obtient les colonnes enfants de cette contrainte.

ConstraintName

Nom d’une contrainte dans le ConstraintCollection.

(Hérité de Constraint)
DeleteRule

Obtient ou définit l’action qui se produit sur cette contrainte lorsqu’une ligne est supprimée.

ExtendedProperties

Obtient la collection de propriétés de contrainte définies par l’utilisateur.

(Hérité de Constraint)
RelatedColumns

Colonnes parentes de cette contrainte.

RelatedTable

Obtient la table parente de cette contrainte.

Table

Obtient la table enfant de cette contrainte.

UpdateRule

Obtient ou définit l’action qui se produit sur cette contrainte lorsqu’une ligne est mise à jour.

Méthodes

Nom Description
CheckStateForProperty()

Obtient l’objet DataSet auquel appartient cette contrainte.

(Hérité de Constraint)
Equals(Object)

Obtient une valeur indiquant si le courant ForeignKeyConstraint est identique à l’objet spécifié.

GetHashCode()

Obtient le code de hachage de cette instance de l’objet ForeignKeyConstraint .

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
SetDataSet(DataSet)

Définit la contrainte DataSet.

(Hérité de Constraint)
ToString()

Obtient le ConstraintName, s’il en existe un, sous forme de chaîne.

(Hérité de Constraint)

S’applique à

Cohérence de thread

Ce type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser toutes les opérations d’écriture.

Voir aussi