Constraint Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir veya daha fazla DataColumn nesne üzerinde zorunlu kılınabilecek bir kısıtlamayı temsil eder.
public ref class Constraint abstract
[System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))]
public abstract class Constraint
public abstract class Constraint
[System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))]
[System.Serializable]
public abstract class Constraint
[<System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))>]
type Constraint = class
type Constraint = class
[<System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))>]
[<System.Serializable>]
type Constraint = class
Public MustInherit Class Constraint
- Devralma
-
Constraint
- Türetilmiş
- Öznitelikler
Örnekler
Aşağıdaki örnek, için DataTable kısıtlamaların koleksiyonunu inceler ve her kısıtlamanın bir UniqueConstraint veya ForeignKeyConstraintolup olmadığını belirler. Kısıtlamanın özellikleri daha sonra görüntülenir.
private void GetConstraints(DataTable dataTable)
{
Console.WriteLine();
// Print the table's name.
Console.WriteLine("TableName: " + dataTable.TableName);
// Iterate through the collection and
// print each name and type value.
foreach(Constraint constraint in dataTable.Constraints )
{
Console.WriteLine("Constraint Name: "
+ constraint.ConstraintName);
Console.WriteLine("Type: "
+ constraint.GetType().ToString());
// If the constraint is a UniqueConstraint,
// print its properties using a function below.
if(constraint is UniqueConstraint)
{
PrintUniqueConstraintProperties(constraint);
}
// If the constraint is a ForeignKeyConstraint,
// print its properties using a function below.
if(constraint is ForeignKeyConstraint)
{
PrintForeignKeyConstraintProperties(constraint);
}
}
}
private void PrintUniqueConstraintProperties(
Constraint constraint)
{
UniqueConstraint uniqueConstraint;
uniqueConstraint = (UniqueConstraint) constraint;
// Get the Columns as an array.
DataColumn[] columnArray;
columnArray = uniqueConstraint.Columns;
// Print each column's name.
for(int i = 0;i<columnArray.Length ;i++)
{
Console.WriteLine("Column Name: "
+ columnArray[i].ColumnName);
}
}
private void PrintForeignKeyConstraintProperties(
Constraint constraint)
{
ForeignKeyConstraint fkConstraint;
fkConstraint = (ForeignKeyConstraint) constraint;
// Get the Columns as an array.
DataColumn[] columnArray;
columnArray = fkConstraint.Columns;
// Print each column's name.
for(int i = 0;i<columnArray.Length ;i++)
{
Console.WriteLine("Column Name: "
+ columnArray[i].ColumnName);
}
Console.WriteLine();
// Get the related columns and print each columns name.
columnArray = fkConstraint.RelatedColumns ;
for(int i = 0;i<columnArray.Length ;i++)
{
Console.WriteLine("Related Column Name: "
+ columnArray[i].ColumnName);
}
Console.WriteLine();
}
Private Sub GetConstraints(dataTable As DataTable)
Console.WriteLine()
' Print the table's name.
Console.WriteLine("TableName: " & dataTable.TableName)
' Iterate through the collection and print
' each name and type value.
Dim constraint As Constraint
For Each constraint In dataTable.Constraints
Console.WriteLine("Constraint Name: " _
& constraint.ConstraintName)
Console.WriteLine("Type: " _
& constraint.GetType().ToString())
' If the constraint is a UniqueConstraint,
' print its properties using a function below.
If TypeOf constraint Is UniqueConstraint Then
PrintUniqueConstraintProperties(constraint)
End If
' If the constraint is a ForeignKeyConstraint,
' print its properties using a function below.
If TypeOf constraint Is ForeignKeyConstraint Then
PrintForeigKeyConstraintProperties(constraint)
End If
Next constraint
End Sub
Private Sub PrintUniqueConstraintProperties( _
constraint As Constraint)
Dim uniqueConstraint As UniqueConstraint
uniqueConstraint = CType(constraint, UniqueConstraint)
' Get the Columns as an array.
Dim columnArray() As DataColumn
columnArray = uniqueConstraint.Columns
' Print each column's name.
Dim i As Integer
For i = 0 To columnArray.Length - 1
Console.WriteLine("Column Name: " _
& columnArray(i).ColumnName)
Next i
End Sub
Private Sub PrintForeigKeyConstraintProperties( _
constraint As Constraint)
Dim fkConstraint As ForeignKeyConstraint
fkConstraint = CType(constraint, ForeignKeyConstraint)
' Get the Columns as an array.
Dim columnArray() As DataColumn
columnArray = fkConstraint.Columns
' Print each column's name.
Dim i As Integer
For i = 0 To columnArray.Length - 1
Console.WriteLine("Column Name: " _
& columnArray(i).ColumnName)
Next i
Console.WriteLine()
' Get the related columns and print each columns name.
columnArray = fkConstraint.RelatedColumns
For i = 0 To columnArray.Length - 1
Console.WriteLine("Related Column Name: " _
& columnArray(i).ColumnName)
Next i
Console.WriteLine()
End Sub
Açıklamalar
Kısıtlama, içindeki DataTableverilerin bütünlüğünü korumak için kullanılan bir kuraldır. Örneğin, bir veya daha fazla ilişkili tabloda kullanılan bir değeri sildiğinizde, ForeignKeyConstraint ilişkili tablolardaki değerlerin de silinip silinmeyeceğini, null değerlere ayarlandığını, varsayılan değerlere ayarlandığını veya hiçbir eylem gerçekleşmediğini belirler. UniqueConstraintÖte yandan, yalnızca belirli bir tablodaki tüm değerlerin benzersiz olmasını sağlar. Daha fazla bilgi için bkz. DataTable Kısıtlamaları.
Temel Constraint oluşturucu kullanılmaz. Birincil veya benzersiz anahtar kısıtlamaları oluşturucu kullanılarak UniqueConstraint oluşturulur ve yabancı anahtar kısıtlamaları oluşturucu kullanılarak ForeignKeyConstraint oluşturulur.
Oluşturucular
Constraint() |
Constraint sınıfının yeni bir örneğini başlatır. |
Özellikler
_DataSet |
Bu kısıtlamanın DataSet ait olduğu değeri alır. |
ConstraintName |
içindeki ConstraintCollectionbir kısıtlamanın adı. |
ExtendedProperties |
Kullanıcı tanımlı kısıtlama özelliklerinin koleksiyonunu alır. |
Table |
Kısıtlamanın DataTable uygulandığı değeri alır. |
Yöntemler
CheckStateForProperty() |
Bu kısıtlamanın DataSet ait olduğu değeri alır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
SetDataSet(DataSet) |
Kısıtlamanın DataSetöğesini ayarlar. |
ToString() |
ConstraintNamevarsa dize olarak öğesini alır. |
Şunlara uygulanır
İş Parçacığı Güvenliği
Bu tür, çok iş parçacıklı okuma işlemleri için güvenlidir. Mevcut yazma işlemlerini eşitlemeniz gerekir.