Constraint Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy vagy több DataColumn objektumra kényszeríthető kényszert jelöl.
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
- Öröklődés
-
Constraint
- Származtatott
- Attribútumok
Példák
Az alábbi példa egy adott kényszerek DataTable gyűjteményét vizsgálja, és meghatározza, hogy az egyes kényszerek egy UniqueConstraint vagy egy ForeignKeyConstraint. Ekkor megjelenik a kényszer tulajdonságai.
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
Megjegyzések
A korlátozás az adatok integritásának megőrzésére szolgáló szabály a DataTable. Ha például töröl egy vagy több kapcsolódó táblában használt értéket, a rendszer meghatározza, ForeignKeyConstraint hogy a kapcsolódó táblák értékei is törlődnek-e, null értékre vannak-e beállítva, alapértelmezett értékekre vannak-e beállítva, vagy nem történik-e művelet. Az A UniqueConstraintviszont csak gondoskodik arról, hogy egy adott táblán belül minden érték egyedi legyen. További információ: DataTable Constraints.
A rendszer nem használ alapkonstruktort Constraint . Az elsődleges vagy egyedi kulcskorlátozások a UniqueConstraint konstruktor használatával jönnek létre, a külső kulcskorlátozások pedig a ForeignKeyConstraint konstruktor használatával jönnek létre.
Konstruktorok
| Name | Description |
|---|---|
| Constraint() |
Inicializálja a Constraint osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| _DataSet |
Lekéri, DataSet hogy melyikhez tartozik ez a korlátozás. |
| ConstraintName |
A kényszer neve a ConstraintCollection. |
| ExtendedProperties |
Lekéri a felhasználó által definiált kényszertulajdonságok gyűjteményét. |
| Table |
Lekérdezi, DataTable hogy a korlátozás melyikre vonatkozik. |
Metódusok
| Name | Description |
|---|---|
| CheckStateForProperty() |
Lekéri, DataSet hogy melyikhez tartozik ez a korlátozás. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| 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. |
| ToString() |
Sztringként lekéri a ConstraintName(ha van) értéket. |
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.