ForeignKeyConstraint Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje omezení akce vynucené u sady sloupců ve vztahu primárního klíče a cizího klíče při odstranění nebo aktualizaci hodnoty nebo řádku.
public ref class ForeignKeyConstraint : System::Data::Constraint
public class ForeignKeyConstraint : System.Data.Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
inherit Constraint
[<System.Serializable>]
type ForeignKeyConstraint = class
inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
- Dědičnost
- Atributy
Příklady
Následující příklad vytvoří objekt , ForeignKeyConstraintnastaví některé jeho vlastnosti a přidá ho do objektu DataTableConstraintCollection.
' 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
Poznámky
A ForeignKeyConstraint omezuje akci provedenou při odstranění nebo aktualizaci hodnoty ve sloupci (nebo sloupcích). Takové omezení je určeno pro použití se sloupci primárního klíče. V relaci nadřazenosti a podřízenosti mezi dvěma tabulkami může odstranění hodnoty z nadřazené tabulky ovlivnit podřízené řádky jedním z následujících způsobů.
Podřízené řádky lze také odstranit (kaskádová akce).
Hodnoty v podřízené sloupci (nebo sloupcích) mohou být nastaveny na hodnoty null.
Hodnoty v podřízené sloupci (nebo sloupcích) je možné nastavit na výchozí hodnoty.
Je možné vygenerovat výjimku.
ForeignKeyConstraint objekty jsou obsaženy v objektu ConstraintCollectionDataTable, ke kterému se přistupuje prostřednictvím Constraints vlastnosti .
Omezení se nevynucují, pokud vlastnost EnforceConstraints není nastavená na true
hodnotu .
Vynucuje AcceptRejectRule se při každém DataTable vyvolání metody objektu AcceptChanges .
Konstruktory
ForeignKeyConstraint(DataColumn, DataColumn) |
Inicializuje novou instanci ForeignKeyConstraint třídy se zadanými nadřazenými a podřízenými DataColumn objekty. |
ForeignKeyConstraint(DataColumn[], DataColumn[]) |
Inicializuje novou instanci ForeignKeyConstraint třídy se zadanými poli nadřazených a podřízených DataColumn objektů. |
ForeignKeyConstraint(String, DataColumn, DataColumn) |
Inicializuje novou instanci ForeignKeyConstraint třídy se zadaným názvem, nadřazenými a podřízenými DataColumn objekty. |
ForeignKeyConstraint(String, DataColumn[], DataColumn[]) |
Inicializuje novou instanci ForeignKeyConstraint třídy se zadaným názvem a pole nadřazených a podřízených DataColumn objektů. |
ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule) |
Tento konstruktor je k dispozici pro podporu doby návrhu v prostředí sady Visual Studio. ForeignKeyConstraint Objekty vytvořené pomocí tohoto konstruktoru pak musí být přidány do kolekce prostřednictvím AddRange(Constraint[]). Tabulky a sloupce se zadanými názvy musí existovat v době volání metody, nebo pokud BeginInit() byl volána před voláním tohoto konstruktoru, tabulky a sloupce se zadanými názvy musí existovat v době, která EndInit() je volána. |
ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule) |
Tento konstruktor je k dispozici pro podporu doby návrhu v prostředí sady Visual Studio. ForeignKeyConstraint Objekty vytvořené pomocí tohoto konstruktoru pak musí být přidány do kolekce prostřednictvím AddRange(Constraint[]). Tabulky a sloupce se zadanými názvy musí existovat v době volání metody, nebo pokud BeginInit() byl volána před voláním tohoto konstruktoru, tabulky a sloupce se zadanými názvy musí existovat v době, která EndInit() je volána. |
Vlastnosti
_DataSet |
Získá, DataSet ke kterému toto omezení patří. (Zděděno od Constraint) |
AcceptRejectRule |
Označuje akci, která by se měla provést v rámci tohoto omezení při AcceptChanges() vyvolání. |
Columns |
Získá podřízené sloupce tohoto omezení. |
ConstraintName |
Název omezení v .ConstraintCollection (Zděděno od Constraint) |
DeleteRule |
Získá nebo nastaví akci, která nastane přes toto omezení při odstranění řádku. |
ExtendedProperties |
Získá kolekci uživatelem definované omezení vlastnosti. (Zděděno od Constraint) |
RelatedColumns |
Nadřazené sloupce tohoto omezení |
RelatedTable |
Získá nadřazenou tabulku tohoto omezení. |
Table |
Získá podřízenou tabulku tohoto omezení. |
UpdateRule |
Získá nebo nastaví akci, ke které dochází v rámci tohoto omezení při aktualizaci řádku. |
Metody
CheckStateForProperty() |
Získá, DataSet ke kterému toto omezení patří. (Zděděno od Constraint) |
Equals(Object) |
Získá hodnotu označující, zda je aktuální ForeignKeyConstraint identický se zadaným objektem. |
GetHashCode() |
Získá kód hash této instance objektu ForeignKeyConstraint . |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
SetDataSet(DataSet) |
Nastaví omezení DataSet. (Zděděno od Constraint) |
ToString() |
ConstraintNameZíská , pokud existuje, jako řetězec. (Zděděno od Constraint) |
Platí pro
Bezpečný přístup z více vláken
Tento typ je bezpečný pro operace čtení ve více vláknech. Je nutné synchronizovat všechny operace zápisu.