ForeignKeyConstraint-Klasse
Stellt eine Aktionsbeschränkung dar, die für eine Gruppe von Spalten in einer Primärschlüssel/Fremdschlüssel-Beziehung erzwungen wird, wenn ein Wert oder eine Spalte gelöscht oder aktualisiert wird.
Namespace: System.Data
Assembly: System.Data (in system.data.dll)
Syntax
'Declaration
Public Class ForeignKeyConstraint
Inherits Constraint
'Usage
Dim instance As ForeignKeyConstraint
public class ForeignKeyConstraint : Constraint
public ref class ForeignKeyConstraint : public Constraint
public class ForeignKeyConstraint extends Constraint
public class ForeignKeyConstraint extends Constraint
Hinweise
Eine ForeignKeyConstraint schränkt die Aktion ein, die beim Löschen oder Aktualisieren eines Werts in einer oder mehreren Spalten ausgeführt wird. Eine solche Einschränkung ist für die Verwendung mit Primärschlüsselspalten vorgesehen. In einer Beziehung zwischen einer übergeordneten und einer untergeordneten Tabelle kann sich das Löschen eines Werts aus der übergeordneten Tabelle auf eine der folgenden Arten auf die untergeordneten Zeilen auswirken.
Die untergeordneten Zeilen können ebenfalls gelöscht werden (eine Kettenaktion).
Die Werte in der untergeordneten Spalte bzw. den untergeordneten Spalten können auf NULL-Werte festgelegt werden.
Die Werte in der untergeordneten Spalte bzw. den untergeordneten Spalten können auf Standardwerte festgelegt werden.
Eine Ausnahme kann ausgelöst werden.
ForeignKeyConstraint-Objekte sind in der ConstraintCollection einer DataTable enthalten, auf die über die Constraints-Eigenschaft zugegriffen wird.
Einschränkungen werden nur dann erzwungen, wenn die EnforceConstraints-Eigenschaft auf true festgelegt ist.
Die AcceptRejectRule wird immer dann erzwungen, wenn die AcceptChanges-Methode eines DataTable-Objekts aufgerufen wird.
Beispiel
Im folgenden Beispiel wird eine ForeignKeyConstraint erstellt, es werden einige ihrer Eigenschaften festgelegt, und sie wird einer ConstraintCollection eines DataTable-Objekts hinzugefügt.
' 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
Vererbungshierarchie
System.Object
System.Data.Constraint
System.Data.ForeignKeyConstraint
Threadsicherheit
Dieser Typ ist bei Multithread-Lesevorgängen sicher. Sie müssen alle Schreibvorgänge synchronisieren.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
ForeignKeyConstraint-Member
System.Data-Namespace
AcceptRejectRule-Enumeration
DataTable-Klasse
ConstraintCollection-Klasse
Rule