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ů v relaci primárního klíče nebo 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ří , ForeignKeyConstraintnastaví některé jeho vlastnosti a přidá ho do DataTable objektu ConstraintCollection.
' 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 k použití se sloupci primárního klíče. Odstranění hodnoty z nadřazené nebo podřízené tabulky může mít vliv na podřízené řádky jedním z následujících způsobů.
Podřízené řádky je také možné odstranit (kaskádová akce).
Hodnoty v podřízeném sloupci (nebo sloupcích) lze nastavit na hodnoty null.
Hodnoty v podřízeném sloupci (nebo sloupcích) lze nastavit na výchozí hodnoty.
Je možné vygenerovat výjimku.
ForeignKeyConstraint objekty jsou obsaženy v ConstraintCollection objektu DataTable, který je přístupný prostřednictvím Constraints vlastnosti.
Omezení nejsou vynucena, pokud EnforceConstraints není vlastnost nastavena na true.
Vynucuje AcceptRejectRule se při vyvolání DataTable metody objektu AcceptChanges .
Konstruktory
| Name | Description |
|---|---|
| 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ým a podřízeným DataColumn objektem. |
| 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ě, kdy je volána metoda, nebo pokud BeginInit() byla volána před voláním tohoto konstruktoru, tabulky a sloupce se zadanými názvy musí existovat v době, kdy 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ě, kdy je volána metoda, nebo pokud BeginInit() byla volána před voláním tohoto konstruktoru, tabulky a sloupce se zadanými názvy musí existovat v době, kdy EndInit() je volána. |
Vlastnosti
| Name | Description |
|---|---|
| _DataSet |
Získá, DataSet do kterého 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 sadě ConstraintCollection. (Zděděno od Constraint) |
| DeleteRule |
Získá nebo nastaví akci, která se vyskytuje v rámci tohoto omezení při odstranění řádku. |
| ExtendedProperties |
Získá kolekci uživatelsky definovaných vlastností omezení. (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, která se vyskytuje v rámci tohoto omezení při aktualizaci řádku. |
Metody
| Name | Description |
|---|---|
| CheckStateForProperty() |
Získá, DataSet do kterého toto omezení patří. (Zděděno od Constraint) |
| Equals(Object) |
Získá hodnotu určující, zda aktuální ForeignKeyConstraint je identický se zadaným objektem. |
| GetHashCode() |
Získá hash kód této instance objektu ForeignKeyConstraint . |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| SetDataSet(DataSet) |
Nastaví omezení DataSet. (Zděděno od Constraint) |
| ToString() |
ConstraintNameZíská , pokud existuje jeden, 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í s více vlákny. Je nutné synchronizovat všechny operace zápisu.