Bagikan melalui


Rule Enum

Definisi

Menunjukkan tindakan yang terjadi saat diberlakukan ForeignKeyConstraint .

public enum class Rule
public enum Rule
type Rule = 
Public Enum Rule
Warisan

Bidang

Cascade 1

Menghapus atau memperbarui baris terkait. Ini adalah default.

None 0

Tidak ada tindakan yang diambil pada baris terkait.

SetDefault 3

Atur nilai dalam baris terkait ke nilai yang terkandung dalam DefaultValue properti .

SetNull 2

Atur nilai dalam baris terkait ke DBNull.

Contoh

' 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

Keterangan

Nilai Rule diatur ke UpdateRule dan DeleteRule properti objek yang ForeignKeyConstraint ditemukan dalam DataTable objek ConstraintCollection.

Nilai Rule menentukan tindakan yang terjadi saat nilai dalam kolom dihapus atau diperbarui. Dari keduanya, menghapus nilai adalah semakin penting dan menuntut perhatian saat menetapkan aturan.

Dalam kasus di mana nilai dihapus, Cascade menentukan bahwa semua baris yang berisi nilai tersebut juga dihapus. SetNull menentukan bahwa nilai di semua kolom anak diatur ke nilai null. SetDefault menentukan bahwa semua kolom anak diatur ke nilai default untuk kolom. None menentukan bahwa tidak ada tindakan yang akan terjadi, tetapi pengecualian dihasilkan.

Dalam kasus di mana nilai diperbarui, Cascade menentukan bahwa semua kolom anak juga diperbarui dengan nilai baru. SetNull menentukan bahwa semua kolom anak diatur ke nilai null. SetDefault menentukan bahwa semua nilai kolom anak diatur ke nilai default. None menentukan bahwa tidak ada tindakan yang diambil, tetapi pengecualian dihasilkan.

Batasan pada tidak diberlakukan DataSet kecuali EnforceConstraints properti adalah true.

Ketika metode dipanggil AcceptChanges , semakin AcceptRejectRule menentukan tindakan apa yang terjadi.

Berlaku untuk

Lihat juga