Compartir a través de


Rule Enumeración

Definición

Indica la acción que se produce cuando se fuerza ForeignKeyConstraint.

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
Herencia

Campos

Cascade 1

Elimina o actualiza las filas relacionadas. Este es el valor predeterminado.

None 0

No realiza ninguna acción en las filas relacionadas.

SetDefault 3

Establece los valores de las filas relacionadas en el valor contenido en la propiedad DefaultValue.

SetNull 2

Establece los valores de las filas relacionadas en DBNull.

Ejemplos

' 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

Comentarios

Los Rule valores se establecen en y UpdateRule las DeleteRule propiedades de un ForeignKeyConstraint objeto que se encuentra en el objeto de ConstraintCollectionun DataTable objeto .

Los Rule valores determinan la acción que se produce cuando se elimina o actualiza un valor de una columna. De los dos, eliminar un valor es el más crítico y exigente de atención al establecer una regla.

En el caso de que se elimine un valor, Cascade especifica que también se eliminan todas las filas que contienen ese valor. SetNull especifica que los valores de todas las columnas secundarias se establecen en valores NULL. SetDefault especifica que todas las columnas secundarias se establezcan en el valor predeterminado de la columna. None especifica que no se producirá ninguna acción, pero se generan excepciones.

En el caso de que se actualice un valor, Cascade especifica que todas las columnas secundarias se actualizan del mismo modo con el nuevo valor. SetNull especifica que todas las columnas secundarias se establezcan en valores NULL. SetDefault especifica que todos los valores de columna secundarios se establezcan en el valor predeterminado. None especifica que no se realiza ninguna acción, pero se generan excepciones.

Las restricciones de un DataSet no se aplican a menos que la EnforceConstraints propiedad sea true.

Cuando se llama al AcceptChanges método , más AcceptRejectRule determina qué acción se produce.

Se aplica a

Consulte también