Rule Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 |
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.