图文分析ADO.NET DataTable约束
创始人
2024-06-10 16:10:33
0

工作了很长时间了,也有了一点点的经验,看到网上的帖子问道如何定义Datatable的主键,在这里就简单的分析一下。根据数据库基本理论,所谓表中的主键用于对记录行进行唯一标识的属性或者属性集合的统称,同样DataTable的主键属性接受含有一个或多个DataColumn对象的数组。设置单个列为DataTable的主键,请看下面的使用示例代码:

  1. objStudentTable.PrimaryKey = new DataColumn[]{objStudentTable.Columns["StudentNo"]} 

代码中将表objStudentTable的"StudentNo"列作为表的主键。
 
#T#注意:上面的代码示例中“objStudentTable”是DataTable对象的引用名,DataTable对象还有个表名,如“Student”。前面在讲DataTable实例化时,提到将表名字符串作为参数传给构造函数,这个字符串传给DataTable对象的TableName属性,而TableName属性就是前面所指的表名。DataTable对象引用名和表名不能混为一谈,DataTable对象引用名是以对象角度去考虑数据表,编程中用的较多,而表名是从数据库角度考虑,设计中用的较多。同样道理,DataColumn对象、DataSet对象也存在同样的情况,请读者使用时留意。
 
为DataTable对象设置复合主键,请看下面的使用示例代码:

  1. objStudentTable.PrimaryKey = new DataColumn[]{objStudentTable.Columns["StudentNo"], objStudentTable.Columns["StudentName"]}; 

代码中将表objStudentTable的"StudentNo"列和"StudentName"的组合作为表的主键。

ADO.NET DataTable约束

所谓关系型数据库的约束,实质是数据库理论中三个参照完成整性的规定:实体完整性(主属性非空唯一性),参照完整性(外键可以为空,一旦添加数据则必须受制于主表的主键约束)和用户定义完整性(用户自行规定的属性规则)。DataTable对象的属性Constraints就是用来进行对关系型数据表进行约束的,它里面可以包含若干Constraint对象,每个Constraint对象是这个ADO.NET DataTable约束。约束的作用是用于维护数据的正确性和有效性。主要体现在两个方面,请见ADO.NET DataTable约束图所示:

应用程序中约束的作用体现图


其中ForeignKeyConstraint表示删除或更新某个值或行时,对主键/外键关系中一组列强制进行的操作限制。UniqueConstraint表示对一组列的限制,列中的所有值必须是唯一的。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...