专家有效说明ADO.NET运行错误与指点

下面就对ADO.NET运行错误进行介绍说明,导致DataSet对象包含一个数据集。可以将DataSet对象视为许多DataTable对象(存储在DataSet对象的Tables集合中)的容器。请有时,开发人员可能希望访问一个运行在中间层服务器上的组件,以获取许多表的内容。

这时不必重复调用该服务器以便每次从一个表中获取数据,而是可以将所有数据都封装入一个DataSet对象之中,并在一次单独调用中将其返回。但DataSet对象的功能绝不仅仅是作为多个DataTable对象的容器。

存储在DataSet对象中的数据未与数据库连接。对数据所做的任何更改都将只是缓存在每个DataRow之中。要将这些更改传递给数据库时,将整个DataSet回传给中间层服务器可能并非一种有效方法。可以使用GetChanges方法仅从DataSet中选出被修改的行。通过这样的方式,可以在不同进程或服务器之间传递较少数据。

DataSet还公开了Merge方法,该方法可作为GetChanges方法的一个补充。用于向数据库提交更改的中间层服务器(它使用的是由Merge方法返回的较小DataSet)将会返回一个包含着新获得数据的DataSet。可以使用DataSet类的Merge方法来将两个DataSet对象的内容合并入一个DataSet之中。这个例子又一次表明在ADO.NET运行错误设计开发ADO.NET时,一直将多层应用程序作为考虑内容之一。过去的微软数据访问模型就没有类似特性。

您可以创建DataSet对象,而且无须与数据库ADO.NET运行错误通信就可以用信息填充DataSet对象的Tables集合。在以前的数据访问模型中,在本地添加新行之前,通常需要查询数据库,然后将它们提交给数据库。而使用ADO.NET,在准备好提交新数据行之后才需要与数据库通信。

相关推荐