Rule Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
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.