作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
个人主页:会敲键盘的肘子
系列专栏:.Net实用方法总结
专栏简介:博主针对.Net开发和C站问答过程中遇到的问题进行总结,形成本专栏,希望可以帮助到您解决问题。
座右铭:总有一天你所坚持的会反过来拥抱你。
写在前面:
本文主要介绍System.Data命名空间的 Constraint 类,介绍其常用的方法和实践。
本文关键字:System.Data、Constraint类、DataTable类、方法实践、C#
提供对表示 ADO.NET 体系结构的类的访问权限。 通过 ADO.NET,可以生成可有效管理多个数据源的数据的组件。
表示可在一个或多个 DataColumn 对象上强制执行的约束。
[System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))]
public abstract class Constraint
示例
下面的示例检查约束 DataTable 的集合,并确定每个约束是一个 UniqueConstraint 还是一个 ForeignKeyConstraint约束。 然后显示约束的属性。
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
ConstraintCollection 中的约束的名称。
public virtual string ConstraintName { get; set; }
示例
以下示例循环 ConstraintCollection 访问每个示例 DataTable 并打印每个 ConstraintName项。
private void PrintConstraintNames(DataTable myTable){
foreach(Constraint cs in myTable.Constraints){
Console.WriteLine(cs.ConstraintName);
}
}
获取向其应用约束的 DataTable。
public abstract System.Data.DataTable? Table { get; }
示例
以下示例返回 DataTable a Constraint.
private void GetDataTable(UniqueConstraint constraint){
DataTable table = constraint.Table;
Console.WriteLine(table.TableName);
}
设置约束的 DataSet。
protected internal void SetDataSet (System.Data.DataSet dataSet);
参数
dataSet
DataSet
此约束将属于的 DataSet。
示例
以下示例使用 SetDataSet 该方法设置 DataSet 约束。
UniqueConstraint uniqueConstraint = new UniqueConstraint(
DataSet1.Tables["Table1"].Columns["Column1"]);
约束是用于维护数据在中 DataTable完整性的规则。 例如,删除一个或多个相关表中使用的值时,确定 ForeignKeyConstraint 相关表中的值是否也会被删除、设置为 null 值、设置为默认值,或者是否不执行任何操作。 另一 UniqueConstraint方面,只需确保特定表中的所有值都是唯一的。 有关详细信息,请参阅DataTable 约束。
不使用基本 Constraint 构造函数。 主键或唯一键约束是使用 UniqueConstraint 构造函数创建的,外键约束是通过使用 ForeignKeyConstraint 构造函数创建的。
更多方法请查阅官方文档Constraint类。
⭐写在结尾:
文章中出现的任何错误请大家批评指出,一定及时修改。
希望写在这里的小伙伴能给个三连支持!