Assembly : System.Data (dans system.data.dll)
SyntaxePublic MustInherit Class Constraint
Dim instance As Constraint
public abstract class Constraint
public ref class Constraint abstract
public abstract class Constraint
public abstract class Constraint
NotesUne contrainte est une règle utilisée pour préserver l'intégrité des données dans DataTable. Par exemple, si vous supprimez une valeur qui est utilisée dans une ou plusieurs tables connexes, ForeignKeyConstraint détermine si leurs valeurs doivent également être supprimées, devenir des valeurs null, récupérer leurs valeurs par défaut ou si aucune action ne se produit. Par contre, UniqueConstraint veille simplement à ce que toutes les valeurs d'une table particulière soient uniques. Pour plus d'informations, consultez Ajout de contraintes à une table.
Aucun constructeur de base Constraint n'est utilisé. Les contraintes de clé primaire ou unique sont créées à l'aide du constructeur UniqueConstraint et les contraintes de clé étrangère, à l'aide du constructeur ForeignKeyConstraint.
ExempleL'exemple suivant recherche un DataTable dans la collection de contraintes et détermine si chaque contrainte est UniqueConstraint ou ForeignKeyConstraint. Les propriétés de la contrainte s'affichent ensuite.
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
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) { PrintForeigKeyConstraintProperties(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 PrintForeigKeyConstraintProperties( 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(); }
Sécurité des threadsCe type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser les opérations d'écriture.
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ