Поделиться через


Rule Перечисление

Определение

Указывает действие, возникающее при применении ForeignKeyConstraint.

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
Наследование

Поля

Имя Значение Описание
None 0

Никаких действий для связанных строк.

Cascade 1

Удаление или обновление связанных строк. Это значение по умолчанию.

SetNull 2

Задайте значения в связанных строках DBNull.

SetDefault 3

Задайте значения в связанных строках значением, содержащимся в свойстве DefaultValue .

Примеры

' 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 задаются для UpdateRuleDeleteRule свойств объекта, найденных ForeignKeyConstraint в DataTable объекте ConstraintCollection.

Значения Rule определяют действие, возникающее при удалении или обновлении значения в столбце. Из двух, удаление значения является более важным и требовательным к внимания при настройке правила.

В случае удаления значения указывает, что все строки, содержащие это значение, Cascade также удаляются. SetNull указывает, что значения во всех дочерних столбцах имеют значение NULL. SetDefault указывает, что все дочерние столбцы должны иметь значение по умолчанию для столбца. None указывает, что действие не будет выполняться, но создаются исключения.

В случае обновления значения указывает, Cascade что все дочерние столбцы также обновляются новым значением. SetNull указывает, что все дочерние столбцы должны иметь значение NULL. SetDefault указывает, что для всех дочерних значений столбцов задано значение по умолчанию. None указывает, что не следует выполнять никаких действий, но создаются исключения.

Ограничения на a не DataSet применяются, если EnforceConstraints свойство не является true.

При вызове AcceptChanges метода далее определяется, AcceptRejectRule какое действие происходит.

Применяется к

См. также раздел