以下示例创建一个新的 DataRelation 并将其添加到 DataSet 的 DataRelationCollection 中。private void CreateRelation() { // Get the DataColumn objects from two DataTable objects in a DataSet. DataColumn parentCol; DataColumn childCol; // Code to get the DataSet not shown here. parentCol = DataSet1.Tables["Customers"].Columns["CustID"]; childCol = DataSet1.Tables["Orders"].Columns["CustID"]; // Create DataRelation. DataRelation relCustOrder; relCustOrder = new DataRelation("CustomersOrders", parentCol, childCol); // Add the relation to the DataSet. DataSet1.Relations.Add(relCustOrder); } 下面的示例检查约束的集合是否有 DataTable,并确定每个约束是否为 UniqueConstraint 或 ForeignKeyConstraint。然后显示约束的属性。private void GetConstraints(DataTable myTable){ Console.WriteLine(); // Print the table's name. Console.WriteLine("TableName: " + myTable.TableName); // Iterate through the collection and print each name and type value. foreach(Constraint cs in myTable.Constraints ) { Console.WriteLine("Constraint Name: " + cs.ConstraintName); Console.WriteLine("Type: " + cs.GetType().ToString()); // If the constraint is a UniqueConstraint, print its properties using // a function below. if(cs is UniqueConstraint) { PrintUniqueConstraintProperties(cs); } // If the constraint is a ForeignKeyConstraint, print its properties // using a function below. if(cs is ForeignKeyConstraint) { PrintForeigKeyConstraintProperties(cs); } } }private void PrintUniqueConstraintProperties(Constraint cs){ UniqueConstraint uCS; uCS = (UniqueConstraint) cs; // Get the Columns as an array. DataColumn[] colArray; colArray = uCS.Columns; // Print each column's name. for(int i = 0;i<colArray.Length ;i++) { Console.WriteLine("Column Name: " + colArray[i].ColumnName); } }private void PrintForeigKeyConstraintProperties(Constraint cs){ ForeignKeyConstraint fkCS; fkCS = (ForeignKeyConstraint) cs; // Get the Columns as an array. DataColumn[] colArray; colArray = fkCS.Columns; // Print each column's name. for(int i = 0;i<colArray.Length ;i++) { Console.WriteLine("Column Name: " + colArray[i].ColumnName); } Console.WriteLine(); // Get the related columns and print each columns name. colArray = fkCS.RelatedColumns ; for(int i = 0;i<colArray.Length ;i++) { Console.WriteLine("Related Column Name: " + colArray[i].ColumnName); } Console.WriteLine(); } 你可以参考帮助里类库参考System.Data命名空间下的DataRelation类和Constraint 类的说明
// Get the DataColumn objects from two DataTable objects in a DataSet.
DataColumn parentCol;
DataColumn childCol;
// Code to get the DataSet not shown here.
parentCol = DataSet1.Tables["Customers"].Columns["CustID"];
childCol = DataSet1.Tables["Orders"].Columns["CustID"];
// Create DataRelation.
DataRelation relCustOrder;
relCustOrder = new DataRelation("CustomersOrders", parentCol, childCol);
// Add the relation to the DataSet.
DataSet1.Relations.Add(relCustOrder);
} 下面的示例检查约束的集合是否有 DataTable,并确定每个约束是否为 UniqueConstraint 或 ForeignKeyConstraint。然后显示约束的属性。private void GetConstraints(DataTable myTable){
Console.WriteLine();
// Print the table's name.
Console.WriteLine("TableName: " + myTable.TableName);
// Iterate through the collection and print each name and type value.
foreach(Constraint cs in myTable.Constraints ) {
Console.WriteLine("Constraint Name: " + cs.ConstraintName);
Console.WriteLine("Type: " + cs.GetType().ToString());
// If the constraint is a UniqueConstraint, print its properties using
// a function below.
if(cs is UniqueConstraint) {
PrintUniqueConstraintProperties(cs);
}
// If the constraint is a ForeignKeyConstraint, print its properties
// using a function below.
if(cs is ForeignKeyConstraint) {
PrintForeigKeyConstraintProperties(cs);
}
}
}private void PrintUniqueConstraintProperties(Constraint cs){
UniqueConstraint uCS;
uCS = (UniqueConstraint) cs;
// Get the Columns as an array.
DataColumn[] colArray;
colArray = uCS.Columns;
// Print each column's name.
for(int i = 0;i<colArray.Length ;i++) {
Console.WriteLine("Column Name: " + colArray[i].ColumnName);
}
}private void PrintForeigKeyConstraintProperties(Constraint cs){
ForeignKeyConstraint fkCS;
fkCS = (ForeignKeyConstraint) cs; // Get the Columns as an array.
DataColumn[] colArray;
colArray = fkCS.Columns; // Print each column's name.
for(int i = 0;i<colArray.Length ;i++) {
Console.WriteLine("Column Name: " + colArray[i].ColumnName);
}
Console.WriteLine(); // Get the related columns and print each columns name.
colArray = fkCS.RelatedColumns ;
for(int i = 0;i<colArray.Length ;i++) {
Console.WriteLine("Related Column Name: " + colArray[i].ColumnName);
}
Console.WriteLine();
}
你可以参考帮助里类库参考System.Data命名空间下的DataRelation类和Constraint 类的说明