频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

ADO.NET入门(3)

作者: 出处:中国IT资源网  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-12-21 16:26
关 键 词:.NET  ADO  入门
阅读提示:本文主要讨论了作为实现基本数据库操作方法之一的ADO.NET以及ADO.NET与ADO的基本比较。具体内容包括:.NET中的数据访问、读取数据、DataSet,DataTable,and Recordset以及转换现有代码和更新数据。

正如早先提到的一样,一旦设置了relationship,除非它是程序性的终止,你不能够对它进行修改,那样会使它突然中断。

另外,relations没有递延性。你可以在Customers和Orders之间,Orders和Products之间设置两个不同的关系。但是,当为了某个customer而对orders导航时,你不能够从一个order跳到相关的products行.解决方法是,你必须另外打开Orders/Products关系,锁定你需要的order,然后获取相关的行。

程序员需要在ASP Session对中存储记录吗?通过ADO.NET和DataSet对象,你可以非常安全的进行工作,而不会引起在“Storing an ADO Recordset in GIT Might Cause An Access Violation”中所论及的麻烦。

5.更新数据 

Web程序通常利用无程式语句或者通过参数代存储过程来更新数据.但是,当遇见脱线的数据时,你也许希望利用内置服务来更新所有需要修订的记录.为完成这一工作.ADO提供了成批的更新机制。

UpdateBatch方法用于把保存在副本缓冲中的Recordset更改发送到服务器,以更新数据源。它采用开放式锁定,允许所有挂起的本地更改。它还在单个操作中把所有更改传送到数据源。仅当更改提交后数据源锁定要更改的记录时,才会出现开放式锁定。开放式锁定使两个用户可以同时访问同一个记录,但一个用户输入的更改很快会被另一用户所覆盖。当然,这种方式要求数据源能够检测和防止数据冲突。还要求整个数据源比较稳定,不会发生频繁的更改。否则,不难想象协调费用将很快超过替代严格锁定所带来的节约。事实上,使用UpdateBatch方法,在任何更改失败时都会返回一个错误。然后,您可以通过Errors集合和Error对象来访问该错误。 

要理解ADO.NET模型为什么是更新数据的更强大的工具,理解ADO中开放式锁定的工作原理是非常关键的。在ADO代码中,您无法控制调用UpdateBatch之后所发生的一切。也就是说,更新是在服务器上通过滚动已更改的行,然后比较原始值和数据源中对应记录中的当前值来进行的。当所有的值都一致了,才对表执行适当的SQL语句(INSERT、UPDATE或DELETE)。 

以上陈述说明了你还不能够控制SQL语句。位于服务器端的更新代码既不会比你自己写的好,也不会在你采用的非SQL提供程序的情况下运作。在本章节的开始部份,我已经讲了Web应用程序是典型的通过参数化存储进程来更新数据的过程。不管如何,如果你用批更新,情况就会有所不同。

在ADO.NET中,模型已被扩展开来.现在,它采用更为通用的架构,通过它你可以规定你自己关于基本运算的命令语句,如插入,删除,更新以及选择.更明显的,你可以观察到从数据源里提取数据的企图,并且不管数据源的本性,可以提供相同的支持.ADO.NET中的批更新,要求你创建一个DataSetCommand对象:SQLDataSetCommand或者ADODataSetCommand。

注:在Beta 2中,DataSetCommand对象被称为DataAdapter对象。

一旦你采用了DataSetCommand对象,你可以使用它的Update方法.DataSetCommand提供了一系列属性:如InsertCommand,DeleteCommand,UpdateCommand,and SelectCommand。它们都是Command对象,但你不能够对它们进行设置,除非缺省设置没有按你的要求完成。这与ADO中一样。在Update过程中,如果没有设置xxxCommand属性,但是主关键字已经存在内,则会自动生成Command对象。

以下代码展示了如何为EmployeesList table设置主关键字,

DataColumn[] keys = new DataColumn[1];
keys[0] = m_oDS.Tables["EmployeesList"].Columns["EmployeeID"];
m_oDS.Tables["EmployeesList"].PrimaryKey = keys;

主关键字基本上是是DataColumn对象的一个数组。

如果你想利用存储过程来更新表单,或者你利用专用非SQL数据提供程序进行操作,那么你将会常常用到这些命令属性。

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



共3页: 上一页 [1] [2] 3
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52473次)
·UML类图详解 (查看46951次)
·Java编程开发手册 (查看25172次)
·UML统一建模语言 (查看24155次)
·C#技术开发指南 (查看22515次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有