다음을 통해 공유


Rule 열거형

정의

ForeignKeyConstraint가 적용될 때 발생하는 동작을 나타냅니다.

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
상속

필드

Cascade 1

관련 행을 삭제하거나 업데이트합니다. 이것이 기본값입니다.

None 0

관련 행에서 수행된 작업이 없습니다.

SetDefault 3

관련 행의 값을 DefaultValue 속성에 포함된 값으로 설정합니다.

SetNull 2

관련 행의 값을 DBNull로 설정합니다.

예제

' 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

설명

값은 Rule 및 개체의 에 있는 개체의 ForeignKeyConstraint 속성으로 DataTableConstraintCollection설정 UpdateRuleDeleteRule 됩니다.

값은 Rule 열의 값을 삭제하거나 업데이트할 때 발생하는 작업을 결정합니다. 두 가지 중에서 값을 삭제하는 것은 규칙을 설정할 때 더 중요하고 주의가 필요합니다.

값이 삭제 Cascade 되는 경우 해당 값을 포함하는 모든 행도 삭제되도록 지정합니다. SetNull 는 모든 자식 열의 값이 null 값으로 설정되도록 지정합니다. SetDefault 는 모든 자식 열을 열의 기본값으로 설정하도록 지정합니다. None 는 작업이 발생하지 않지만 예외가 생성되도록 지정합니다.

값이 업데이트 Cascade 되는 경우 는 모든 자식 열이 마찬가지로 새 값으로 업데이트되도록 지정합니다. SetNull 는 모든 자식 열을 null 값으로 설정하도록 지정합니다. SetDefault 는 모든 자식 열 값을 기본값으로 설정하도록 지정합니다. None 는 작업을 수행하지 않지만 예외가 생성되도록 지정합니다.

속성true이 이 아니면 EnforceConstraintsDataSet 대한 제약 조건이 적용되지 않습니다.

메서드가 AcceptChanges 호출되면 에서 AcceptRejectRule 어떤 작업이 발생하는지 추가로 결정합니다.

적용 대상

추가 정보