datatabledataview和dataset区别

datatabledataview和dataset区别

ID:34722548

大小:55.68 KB

页数:4页

时间:2019-03-10

datatabledataview和dataset区别_第1页
datatabledataview和dataset区别_第2页
datatabledataview和dataset区别_第3页
datatabledataview和dataset区别_第4页
资源描述:

《datatabledataview和dataset区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1、DataView是DataTable的表示,DataTable表里的记录是没有顺序的,但显示可以有不同顺序(DataVIew),但还是同一张表,所以一个DataTable可以有多个DataView,默认访问DataTable,其实是访问他的DefaultView。DataSet则是DataTable的集合,也可以有不止一个DataTable2、DataView是一张DataTable的虚拟视图,主要用来显示数据的,其实数据的更改都是发生在DataTable中。如果以数据库来打比方,DataSet就是一个功能简单的数据库,是多个表(D

2、ataTable)的集合,DataTable就是对应数据库中的表,而DataView则对应数据库中的视图(View)。ADO.NET中有一层对象,用来创建任意数据源的抽象模型。其中包括DataSet,DataTable,DataRow,DataView,DataRelation等等。所有这些对象都定义在System.Data名字空间。它们形成一个抽象模型,使得无论针对WindowsForm,WebForm还是WebService进行编程,都可以使用相同的编程接口。在实际应用中,这些对象大多会对诸如SQLServer一类的关系型数据库中的

3、数据进行操作。但是,它们可以处理各种数据,而不管它的物理存储媒介。你可以使用DataSet对象来打包和关联各表中的数据,用DataTable类来处理表格类型的数据,而DataRow对象可以处理表中某一行的数据。这三个对象都是对数据进行打包,但有不同的逻辑聚合层次。DataSet是DataTable和其他的组合。而DataTable是DataRow和其他的组合。DataRow是字段和其他的组合。但是这些对象中都没有内建过滤和排序的功能。ADO.NET提供了一些类来处理这个数据库应用程序中的重要方面。在.NetBeta2中,这方面最重要的两

4、个对象就是DataView和DataViewManager。注意:DataViewManager是Beta2中特有的。在Beta1中,相应的功能由DataSetView完成。定制数据视图DataView类用来表示定制的DataTable的视图。DataTable和DataView的关系是遵循著名的设计模式--文档/视图模式,其中DataTable是文档,而Dataview是视图。在任何时候,你都可以有多个基于相同数据的不同的视图。更重要的是,你可以对每一个具有自己一套属性、方法、事件的视图作为独立的对象进行处理。这也代表了相对ADO一个

5、巨大的飞跃。ADORecordset可以定义过滤字符串。一旦你建立了该字符窜,只有匹配特定标准的数据才能够进行读写。Filter属性的工作原理同动态WHERE子句很相似。它只是简单的在同一recordset对象视图上隐藏了某些记录。在ADO中,你从没有一个独立的视图对象。一个过滤过的recordset总是同一个对象,只不过显示出的记录比它实际数量少一些而已。如果你不需要同时处理一些不同的视图,上述问题并不要紧。编程接口赋予了recordset既可以是表也可以是视图的功能。但是在创建时,这不能同时发生。在某一特定时刻,recordset只

6、能是没有过滤字符串的表或者是激活了过滤字符串的视图。Recordset的克隆提供了较好解决这个结构限制的方法。正如ClonationandtheCaseofTableDolly,Part1中所说的,克隆recordset相对开销较少,因为它不复制数据,只是复制recordset的基本构造。要处理同一数据两个或两个以上的视图,你可以利用两个或两个以上克隆,各自有一套相应的过滤字符串。图一在ADO中处理同一recordset不同的视图在ADO.NET中,你可以使用新型对象模型所提供的DataView对象。ADO.NET的DataView对象

7、用来表示给定数据表的定制的视图,但你可以像处理单独的对象一样处理它。DataView对象保留了对表的一个引用并允许对它进行更新。图二在ADO.NET中对同一数据表的不同视图进行操作功能上而言,使用ADORecordset克隆与使用特殊的视图对象完成的是同样的功能,都是让你实现过滤,对所选的数据行进行操作,并同时处理多个视图。深入DataView对象DataView对象继承了MarshalByValueComponent并实现了一组接口使之在数据绑定控件中可用。PublicClassDataViewInheritsMarshalByVal

8、ueComponentImplementsIBindingList,IList,ICollection,IEnumerable,_ITypedList,ISupportInitialize由MarshalB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。