为什么纯阳要夜话白鹭:11.1 ADO.NET中的DataSet对象

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 22:41:46
第11章 DataSet对象
本章要点
ADO.NET中的DataSet对象
向DataSet对象中填充数据
DataSet对象的属性和方法
向DataSet对象中填充数据
更新DataSet的数据并提交
插入DataSet的数据并提交
删除DataSet的数据并提交
使用CommandBuilder对象
本章介绍ADO.NET中的DataSet(数据集)对象。DataReader对象基于连接模式,提供只读的、前进的结果集。而如果要对数据源中的数据执行修改等操作并自由移动数据,就需要使用离线模式的DataSet对象。
通过本章的学习,可以掌握DataSet对象的使用。
11.1 ADO.NET中的DataSet对象
经常有读者会问:采用ADO.NET技术开发数据库系统和基于ADO技术开发数据库系统到底有什么优势?对于这个问题,不同的开发人员有不同的答案,但比较共性的一点就是,ADO.NET提供了基于DataSet的开发技术。
下面我们就从DataSet对象的结构谈起。
11.1.1 DataSet对象的结构
无论是ADO还是ADO.NET,都需要有一定的技术方法将数据从数据源提取到客户机的内存中,然后客户机程序对内存中的数据进行操作,最后提交给数据源,这一点概莫能外。
在ADO技术中,客户机内存中存储的提取的数据结构称为Recordset(记录集),我们可以把它理解为内存中的一张表,即在ADO技术中,每次内存中只能按照表的结构来存储提取的数据,正因为如此,所以ADO是基于连接模式的,这和ADO.NET中的DataReader对象的使用机制是一致的。
在ADO.NET中,DataSet对象可以模拟数据库的结构。我们知道,SQL Server 2005的数据库是由若干张表和表之间的联系维系在一起的,我们可以把DataSet对象理解为是内存中的数据库。
11.1.2 DataSet对象的优点
正是因为DataSet对象可以模拟若干个表及表之间的关系,所以当客户机从数据源提取到数据存储在内存中后,就可以暂时断开和数据源的联系,客户机可以在自己的内存中修改和操作数据,操作完毕后再连接到数据源,提交修改的结果即可。
由于不需要始终保持和数据源的连接,所以在同样的服务器资源下,基于离线模式的DataSet对象开发的数据库程序就可以支持大量并发的客户机数量,因为除了提取和提交数据外,数据源所在的服务器消耗的资源很低。
但任何事物都有其两面性。一方面DataSet对象可以减轻服务器的负担,但另外一方面客户机的内存需要离线来保存提取的数据,随着数据的增长,客户机上可能会占用大量的资源。只不过一般情况下,客户机的资源更充分一些,我们更愿意节省服务器的资源。