ADO.NET入门(3)

ADO.NET入门(3)

        3.DataSet, DataTable, and Recordset
 
    关于Recordset object.,ADO.NET并没有与其直接相对应的对象.最接近的是DataTable 对象.虽然它们二者几乎具有相同的功能,但它们在各自的框架里发挥着不同的作用.
 
    Recordset是一个相当大的对象,具备ADO的大多数功能,但在某些方面仍有欠缺. Recordset在一些方面性能优良,如:它具可创造性,它可以离线操作,功能众多,但在一些方面仍需改进,如:基于其固有的COM特性, Recordset很难在网络上连载; Recordset是一个二进制的对象,因此不同平台之间的模块很难共享它;还有就是蛇不能够穿过防火墙.另外,它表现的是记录的单个表.如果该table作为一个或几个JOIN的结果,那么它很难更新原始代码源.当你试图将脱线的recordset与原始代码源统一起来时,数据源必须能够识别SQL.不管如何,你的recordset可以由非SQL 提供程序创建.
 
    在ADO.NET中,ADO Recordset的所有功能被分拆成几块更简单的对象:其中一个便是DataReader. DataReader模拟了快速,只读,仅向前的只读游标的操作.
 
    DataTable,表现了数据源,是个简单的对象. 你可以手动构造一个DataTable,或者也可使用DataSet命令自动生成. DataSet对于它所包含的数据知之不多.通过它,你可以在内存中处理数据,或者是其它比如排序,编辑,筛选,创建浏览等工作.
 
    DataSet对象是一个数据容器类,是实现ADO.NET数据抽取的关键对象. DataSet集合了一个或几个DataTable 对象. DataTable 通过如行,列这样的通用集合,公开自身的内容.当你尝试从数据表读取数据时,你也许正穿过了两个不同的层面: DataTableMapping 和 DataView.
 
    DataTableMapping 对象包含了数据源中的数据列,以及DataTable object之间的映射关系.
 
    当填充 DataSet 时,DataSetCommand 对象要使用这个类。它维护数据集中的抽象列和数据源中的物理列之间的链接。
 
    表的视图通过 DataView 对象实现。它表示 DataTable 的自定义视图,可以绑定到特定控件(如 Windows 窗体和 Web 窗体中的数据网格)中。该对象相当于 SQL CREATE VIEW 语句在内存中的实现。
 
    DataSet中所有的表,通过一个公共的域,相互之间能产生关联.它们之间的联系是由DataRelation 对象来进行管理.这样说起来挺象ADO的数据形成,但还是有一个最大的不同.
 
    在DataRelation里,你不需要使用数据形成语言,而且还可以获得非常灵活的组织架构. 通过ADO .NET 导航模型,你可以很容易的从某一张表中的主行移动到它的所有子行里.
 
    DataRelation object是关于JOIN 语句在内存中的实现,可用于建立数据类型相同的的parent/child关系,. 一旦关系确立,任何破坏这种关系的修改都被禁止. Views和 relations是完成master/detail 架构的两个方法.请记住view仅是加载于记录之上的掩码, 但是relation
 
    是位于几个列之间的动态链接,在relation下,你无法更改顺序或是设置条件.
 
    如果你的代码需要1对1的外键关系,而且更改数据,最好不用JOIN命令.如果你需要额外的筛选功能,你可以寻求ADO .NET自定义视图的支持.

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [ADO.Net] 的这些文章也感兴趣:

ADO.NET Entity Framework 体验:映射(Mapping)  在ADO.NET数据集中浏览多个相关表(4)
从DataGrid导出Excel产生乱码的一个很好的解决方案  概述C#中的索引器
利用C#实现分布式数据库查询  用C#和ADO.NET建立一个数据绑定网格
用C#开发PocketPC数据库应用程序  ADO.NET Entity Framework 体验:语言
亲密接触ADO.NET2.0  Synchronization Services for ADO.NET(1) - 创建一个简单的数据同步小程序
用C#访问Access数据库  Enumerate SQL Server Instances in C#, Using ODBC
用C#对ADO.NET数据库完成简单操作  ADO.NET Entity Framework(1)介绍
用VisualC#来修改和删除数据库记录  用VisualC#来增加数据记录
一步一步体验 ADO.NET Entity Framework:第一步  ADO.NET 数据库访问之数据分页
ADO.NET入门(3)  在VisualC#中访问不同数据库