ADO.NET入门 3

  3.DataSet, DataTable, and Recordset
    关于Recordset object.,ADO.NET并没有与其直接相对应的对象.最接近的是Data
Table 对象.虽然它们二者几乎具有相同的功能,但它们在各自的框架里发挥着不同的作
用.
    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 通过如行,列这样的通用集合,公开自身的
内容.当你尝试从数据表读取数据时,你也许正穿过了两个不同的层面: DataTableMappi
ng 和 DataView.
    DataTableMapping 对象包含了数据源中的数据列,以及DataTable object之间的
映射关系.
    当填充 DataSet 时,DataSetCommand 对象要使用这个类。它维护数据集中的抽
象列和数据源中的物理列之间的链接。
    表的视图通过 DataView 对象实现。它表示 DataTable 的自定义视图,可以绑定
到特定控件(如 Windows 窗体和 Web 窗体中的数据网格)中。该对象相当于 SQL CRE
ATE VIEW 语句在内存中的实现。
    DataSet中所有的表,通过一个公共的域,相互之间能产生关联.它们之间的联系是
由DataRelation 对象来进行管理.这样说起来挺象ADO的数据形成,但还是有一个最大的
不同.
    在DataRelation里,你不需要使用数据形成语言,而且还可以获得非常灵活的组织
架构. 通过ADO .NET 导航模型,你可以很容易的从某一张表中的主行移动到它的所有子
行里.
    DataRelation object是关于JOIN 语句在内存中的实现,可用于建立数据类型相同
的的parent/child关系,. 一旦关系确立,任何破坏这种关系的修改都被禁止. Views和
relations是完成master/detail 架构的两个方法.请记住view仅是加载于记录之上的掩
码, 但是relation
    是位于几个列之间的动态链接,在relation下,你无法更改顺序或是设置条件.
    如果你的代码需要1对1的外键关系,而且更改数据,最好不用JOIN命令.如果你需要
额外的筛选功能,你可以寻求ADO .NET自定义视图的支持.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值