工作了很长时间了,也有了一点点的经验,看到网上的帖子问道如何定义Datatable的主键,在这里就简单的分析一下。根据数据库基本理论,所谓表中的主键用于对记录行进行唯一标识的属性或者属性集合的统称,同样DataTable的主键属性接受含有一个或多个DataColumn对象的数组。设置单个列为DataTable的主键,请看下面的使用示例代码:
- objStudentTable.PrimaryKey = new DataColumn[]{objStudentTable.Columns["StudentNo"]}
代码中将表objStudentTable的"StudentNo"列作为表的主键。
#T#注意:上面的代码示例中“objStudentTable”是DataTable对象的引用名,DataTable对象还有个表名,如“Student”。前面在讲DataTable实例化时,提到将表名字符串作为参数传给构造函数,这个字符串传给DataTable对象的TableName属性,而TableName属性就是前面所指的表名。DataTable对象引用名和表名不能混为一谈,DataTable对象引用名是以对象角度去考虑数据表,编程中用的较多,而表名是从数据库角度考虑,设计中用的较多。同样道理,DataColumn对象、DataSet对象也存在同样的情况,请读者使用时留意。
为DataTable对象设置复合主键,请看下面的使用示例代码:
- 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表示对一组列的限制,列中的所有值必须是唯一的。
分享标题:图文分析ADO.NETDataTable约束
文章起源:http://www.shufengxianlan.com/qtweb/news13/345413.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联