Sdílet prostřednictvím


ForeignKeyConstraint Třída

Definice

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
ForeignKeyConstraint
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.

Viz také