Rule 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示强制实施 ForeignKeyConstraint 时发生的操作。
public enum class Rule
public enum Rule
type Rule =
Public Enum Rule
- 继承
字段
| 名称 | 值 | 说明 |
|---|---|---|
| None | 0 | 对相关行不采取任何操作。 |
| Cascade | 1 | 删除或更新相关行。 这是默认值。 |
| SetNull | 2 | 将相关行中的值设置为 |
| 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在对象ConstraintCollection中找到DataTable的对象的属性和属性ForeignKeyConstraint。
这些 Rule 值确定删除或更新列中的值时发生的操作。 在两者中,删除值是设置规则时更加关键和要求注意。
在删除某个值的情况下, Cascade 指定也删除包含该值的所有行。
SetNull 指定所有子列中的值都设置为 null 值。
SetDefault 指定所有子列都设置为列的默认值。
None 指定不会发生任何操作,但会生成异常。
在更新值的情况下, Cascade 指定所有子列都同样使用新值进行更新。
SetNull 指定所有子列都设置为 null 值。
SetDefault 指定所有子列值都设置为默认值。
None 指定不执行任何操作,但会生成异常。
除非属性为 true.,否则EnforceConstraints不会强制执行对 a DataSet 的约束。
AcceptChanges调用该方法时,进AcceptRejectRule一步确定发生什么操作。