Nyelv

ForeignKeyConstraint Osztály

Definíció

Olyan műveletkorlátozást jelöl, amelyet egy elsődleges kulcs/idegenkulcs-kapcsolat oszlopkészletén kényszerítenek ki, amikor egy értéket vagy sort törölnek vagy frissítenek.

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
Öröklődés
ForeignKeyConstraint
Attribútumok

Példák

Az alábbi példa létrehoz egy ForeignKeyConstraint, beállít néhány tulajdonságot, és hozzáadja DataTableazt egy ConstraintCollection objektumhoz.

' 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

Megjegyzések

Az A ForeignKeyConstraint az oszlop (vagy oszlopok) egyik értékének törlésekor vagy frissítésekor végrehajtott műveletet korlátozza. Az ilyen korlátozás elsődleges kulcsoszlopokkal használható. Két tábla közötti szülő-gyermek kapcsolat esetén a szülőtáblából származó érték törlése az alábbi módok egyikével befolyásolhatja a gyermeksorokat.

  • A gyermeksorok is törölhetők (kaszkádolt művelet).

  • A gyermekoszlopban (vagy oszlopokban) lévő értékek null értékre állíthatók.

  • A gyermekoszlop (vagy oszlopok) értékei alapértelmezett értékekre állíthatók be.

  • Kivétel hozható létre.

ForeignKeyConstraint objektumokat a ConstraintCollectionDataTabletulajdonságon keresztül Constraints elért objektum tartalmaz.

A kényszerek csak akkor lesznek kényszerítve, ha a EnforceConstraints tulajdonság értéke true.

Az AcceptRejectRule objektum metódusának meghívásakor DataTableAcceptChanges a program kényszeríti.

Konstruktorok

Name Description
ForeignKeyConstraint(DataColumn, DataColumn)

Inicializálja az ForeignKeyConstraint osztály új példányát a megadott szülő- és gyermekobjektumokkal DataColumn .

ForeignKeyConstraint(DataColumn[], DataColumn[])

Inicializálja az ForeignKeyConstraint osztály új példányát a szülő- és gyermekobjektumok DataColumn megadott tömbjével.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Inicializálja az ForeignKeyConstraint osztály új példányát a megadott névvel, szülő- és gyermekobjektumokkal DataColumn .

ForeignKeyConstraint(String, DataColumn[], DataColumn[])

Inicializálja az ForeignKeyConstraint osztály új példányát a megadott névvel, valamint a szülő- és gyermekobjektum-tömböket DataColumn .

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Ez a konstruktor a Visual Studio környezetben a tervezési idő támogatásához érhető el. ForeignKeyConstraint A konstruktor használatával létrehozott objektumokat ezután hozzá kell adni a gyűjteményhez a következőn keresztül AddRange(Constraint[]): . A megadott névvel rendelkező tábláknak és oszlopoknak a metódus meghívásakor vagy a BeginInit() konstruktor meghívása előtt kell létezniük, a megadott névvel rendelkező tábláknak és oszlopoknak a meghívás időpontjában EndInit() kell létezniük.

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Ez a konstruktor a Visual Studio környezetben a tervezési idő támogatásához érhető el. ForeignKeyConstraint A konstruktor használatával létrehozott objektumokat ezután hozzá kell adni a gyűjteményhez a következőn keresztül AddRange(Constraint[]): . A megadott névvel rendelkező tábláknak és oszlopoknak a metódus meghívásakor vagy a BeginInit() konstruktor meghívása előtt kell létezniük, a megadott névvel rendelkező tábláknak és oszlopoknak a meghívás időpontjában EndInit() kell létezniük.

Tulajdonságok

Name Description
_DataSet

Lekéri, DataSet hogy melyikhez tartozik ez a korlátozás.

(Öröklődés forrása Constraint)
AcceptRejectRule

Azt a műveletet jelzi, amelyet a meghíváskor AcceptChanges() ezen a kényszeren kell elvégezni.

Columns

Lekéri a korlátozás gyermekoszlopait.

ConstraintName

A kényszer neve a ConstraintCollection.

(Öröklődés forrása Constraint)
DeleteRule

Lekéri vagy beállítja a kényszeren belül egy sor törlésekor előforduló műveletet.

ExtendedProperties

Lekéri a felhasználó által definiált kényszertulajdonságok gyűjteményét.

(Öröklődés forrása Constraint)
RelatedColumns

A kényszer szülőoszlopai.

RelatedTable

Lekéri a kényszer szülőtábláját.

Table

Lekéri a korlátozás gyermektábláját.

UpdateRule

Lekéri vagy beállítja a korlátozás során előforduló műveletet egy sor frissítésekor.

Metódusok

Name Description
CheckStateForProperty()

Lekéri, DataSet hogy melyikhez tartozik ez a korlátozás.

(Öröklődés forrása Constraint)
Equals(Object)

Beolvas egy értéket, amely jelzi, hogy az áram ForeignKeyConstraint megegyezik-e a megadott objektummal.

GetHashCode()

Lekéri az objektum példányának kivonatkódját ForeignKeyConstraint .

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
SetDataSet(DataSet)

Beállítja a kényszert DataSet.

(Öröklődés forrása Constraint)
ToString()

Sztringként lekéri a ConstraintName(ha van) értéket.

(Öröklődés forrása Constraint)

A következőre érvényes:

Szálbiztonság

Ez a típus biztonságos a többszálas olvasási műveletekhez. Minden írási műveletet szinkronizálnia kell.

Lásd még