Share via


Rule 枚举

指示在强制 ForeignKeyConstraint 时发生的操作。

**命名空间:**System.Data
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Public Enumeration Rule
用法
Dim instance As Rule
public enum Rule
public enum class Rule
public enum Rule
public enum Rule

成员

  成员名称 说明
由 .NET Compact Framework 支持 Cascade 删除或更新相关的行。这是默认选项。 
由 .NET Compact Framework 支持 None 不对相关的行采取任何操作。 
由 .NET Compact Framework 支持 SetDefault 将相关的行中的值设置为 DefaultValue 属性中包含的值。 
由 .NET Compact Framework 支持 SetNull 将相关的行中的值设置为 DBNull。 

备注

Rule 值设置为在 DataTable 对象的 ConstraintCollection 中的找到的 ForeignKeyConstraint 对象的 UpdateRuleDeleteRule 属性。

Rule 值确定在删除或更新列中的值时发生的操作。在这两种操作中,删除值更关键,在设置规则时要特别小心。

在删除值的情况下,Cascade 指定同时删除包含该值的所有行。SetNull 指定将所有子列中的值设置为空值。SetDefault 指定必须将所有子列设置为列的默认值。None 指定不发生任何操作,但是生成异常。

在更新值的情况下,Cascade 指定所有子列都同样以新值更新。SetNull 指定必须将所有子列设置为空值。SetDefault 指定必须将所有子列值设置为默认值。None 指定不采取任何操作,但是生成异常。

除非 EnforceConstraints 属性是 true,否则不在 DataSet 上强制约束。

在调用 AcceptChanges 方法时,AcceptRejectRule 进一步确定发生什么操作。

示例

' 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

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

System.Data 命名空间
DataTable.Constraints 属性
ForeignKeyConstraint 类