Rule Enum

Definition

Anger den åtgärd som inträffar när en ForeignKeyConstraint tillämpas.

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
Arv

Fält

Name Värde Description
None 0

Ingen åtgärd har vidtagits på relaterade rader.

Cascade 1

Ta bort eller uppdatera relaterade rader. Det här är standardinställningen.

SetNull 2

Ange värden i relaterade rader till DBNull.

SetDefault 3

Ange värden i relaterade rader till värdet i egenskapen DefaultValue .

Exempel

' 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

Kommentarer

Värdena Rule anges till och UpdateRule egenskaperna för DeleteRule ett ForeignKeyConstraint objekt som finns i ett DataTable objekts ConstraintCollection.

Värdena Rule avgör vilken åtgärd som inträffar när ett värde i en kolumn antingen tas bort eller uppdateras. Av de två är det viktigare och mer krävande att ta bort ett värde när du anger en regel.

Om ett värde tas Cascade bort anger att alla rader som innehåller det värdet också tas bort. SetNull anger att värden i alla underordnade kolumner är inställda på null-värden. SetDefault anger att alla underordnade kolumner ska anges till standardvärdet för kolumnen. None anger att ingen åtgärd kommer att utföras, men undantag genereras.

Om ett värde uppdateras Cascade anger att alla underordnade kolumner också uppdateras med det nya värdet. SetNull anger att alla underordnade kolumner ska anges till null-värden. SetDefault anger att alla underordnade kolumnvärden ska anges till standardvärdet. None anger att ingen åtgärd ska vidtas, men undantag genereras.

Begränsningar för en DataSet tillämpas inte om inte egenskapen EnforceConstraints är true.

AcceptChanges När metoden anropas avgör ytterligare AcceptRejectRule vilken åtgärd som inträffar.

Gäller för

Se även