Partage via


Rule Énumération

Définition

Indique l’action qui se produit lors de l’application de ForeignKeyConstraint.

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
Héritage

Champs

Cascade 1

Supprime ou met à jour les lignes connexes. Il s'agit de la valeur par défaut.

None 0

Aucune action n’est effectuée sur les lignes connexes.

SetDefault 3

Affecte la valeur des lignes connexes à valeur contenue dans la propriété DefaultValue.

SetNull 2

Définit les valeurs des lignes connexes sur DBNull.

Exemples

' 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

Les Rule valeurs sont définies sur et UpdateRule les DeleteRule propriétés d’un ForeignKeyConstraint objet trouvé dans l’objet d’un DataTableConstraintCollectionobjet .

Les Rule valeurs déterminent l’action qui se produit lorsqu’une valeur dans une colonne est supprimée ou mise à jour. Parmi les deux, la suppression d’une valeur est la plus critique et la plus exigeante lors de la définition d’une règle.

Dans le cas où une valeur est supprimée, Cascade spécifie que toutes les lignes contenant cette valeur sont également supprimées. SetNull spécifie que les valeurs de toutes les colonnes enfants sont définies sur des valeurs Null. SetDefault spécifie que toutes les colonnes enfants doivent être définies sur la valeur par défaut de la colonne. None spécifie qu’aucune action ne se produira, mais que des exceptions sont générées.

Dans le cas où une valeur est mise à jour, Cascade spécifie que toutes les colonnes enfants sont également mises à jour avec la nouvelle valeur. SetNull spécifie que toutes les colonnes enfants sont définies sur des valeurs null. SetDefault spécifie que toutes les valeurs de colonne enfant sont définies sur la valeur par défaut. None spécifie qu’aucune action n’est effectuée, mais que des exceptions sont générées.

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

Lorsque la AcceptChanges méthode est appelée, le AcceptRejectRule détermine en outre l’action qui se produit.

S’applique à

Voir aussi