C#DataSet的用法

DataSet类是内存中数据的复杂容器。DataSet类包含了DataTable实例的集合,DataTable实例包含了保存在数据集中的关系数据。每个DataTable实例包含DataColumn实例的集合用来定义表中的数据的架构,还包含DataRow实例的集合用来以数据行方式访问其中包含的数据。

数据集还允许使用乐观并发处理方法更新数据库,为了支持这种功能,数据表对象中的每个数据行会跟踪一个RowState标志,来标识数据行的状态是未修改、已修改、新增或已删除。数据表还维护着每个已修改数据行的一个附加拷贝,这样就可以同时保留从数据库中取出的原值和当前值。使用这些数据就可以检测到,在数据集被提交修改的这段时间,其他人是否已经修改可数据库中的值。

使用DataSet对象更新数据库,我们可以使用数据适配器的Update方法。Update方法的功能与适配器的Fill方法类似。唯一不同 的是Update方法会查找数据集中的每个数据表的每个数据行,当它发现某个数据行状态为已修改、新增或已删除的时候,它就会为每个这样的数据行执行一个单独的命令。数据适配器使用UpdateCommandInsertCommandDeleteCommand等属性引用的SqlCommand对象来执行这些命令。

DataSet类型还支持在内部包含的数据表上定义约束,包括主键约束、唯一约束和外键约束等。DataView可以用来排序或过滤包含在数据表的数据,而不用修改数据表的实际内容,这与数据库中的数据表上定义的视图概念是非常类似的。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐