Rule Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает действие, которое должно быть выполнено для обеспечения ограничения ForeignKeyConstraint.
public enum class Rule
public enum Rule
type Rule =
Public Enum Rule
- Наследование
Поля
Cascade | 1 | Удалить или обновить связанные строки. Это значение по умолчанию. |
None | 0 | К связанным строкам действия не применялись. |
SetDefault | 3 | Задайте связанным строкам значения, содержащиеся в свойстве DefaultValue. |
SetNull | 2 | Задайте связанным строкам значение |
Примеры
' 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
Комментарии
Значениям присваиваются UpdateRule свойства и DeleteRule объекта , найденного ForeignKeyConstraint в объекте DataTableConstraintCollection.Rule
Значения Rule определяют действие, которое происходит при удалении или обновлении значения в столбце. Из двух вариантов удаление значения является более важным и требующим внимания при установке правила.
В случае удаления значения указывает, Cascade
что также удаляются все строки, содержащие это значение. SetNull
указывает, что для всех дочерних столбцов заданы значения NULL. SetDefault
указывает, что для всех дочерних столбцов должно быть задано значение по умолчанию для столбца. None
указывает, что действие не будет выполняться, но создаются исключения.
В случае обновления значения указывает, Cascade
что все дочерние столбцы также обновляются новым значением. SetNull
указывает, что для всех дочерних столбцов должны быть заданы значения NULL. SetDefault
указывает, что для всех значений дочерних столбцов задано значение по умолчанию. None
указывает, что никаких действий не предпринимается, но создаются исключения.
Ограничения для DataSet не применяются, если EnforceConstraints свойство не имеет значения true
.
При вызове AcceptChanges метода далее определяется, AcceptRejectRule какое действие выполняется.