学院首页>网络编程>ASP.NET>ADO.NET:通向未来之桥

ADO.NET:通向未来之桥

作者: 来源: 添加时间:2006-5-21 19:58:40
五、修改数据 

以脱机方式工作时,我们对数据的添加、修改、删除等更新操作在内存缓冲中进行。因此,如果你利用NewRow添加了新的记录,或者利用某个简单的工具编辑现有的行,这些更新只在内存中进行,不影响底层的数据源。更新操作在我们从Command对象调用Update方法提交更改的时候发生。Update方法为数据集中每个被插入、修改、删除的行分别调用Insert、Update和Delete命令。 

我们可以利用ADO.NET命令的InsertCommand、UpdateCommand和DeleteCommand属性,指定面向特定数据源的命令,插入、修改或删除记录。这些属性的内容和我们所要操作的数据提供者有关,但是,如果数据提供者是一个数据库管理系统(DBMS),属性的内容很可能就是SQL命令字符串。当Update方法执行时,如果这些属性还没有设置好,但DataSet对象包含了主键信息,那么,ADO.NET将自动生成命令文本。 

我建议,只有当应用程序要求读取一定数量的记录并进行修改,而且修改的次序和数量不可预测时,才使用这种插入、更改、删除记录的方法。如果应用程序的用户界面只是要求填写几个字段,然后插入或更新记录,那么,执行SQL语句或存储过程是更理想的方法。

六、其他需要说明的问题 

虽然ADO.NET不是一个特别庞大的主题,但本文仍旧只是粗略地勾勒了它的表面。如果不理解隐藏在ADO.NET背后的深层原理,我们不能有效地利用ADO.NET。ADO.NET不仅仅是一种新的数据访问API,更重要的是,当我们利用.NET的强大优势时,ADO.NET使得我们能够跨越Web访问数据。如果你选择.NET作为服务器平台,你就应该用ADO.NET访问数据。 

在.NET平台的设计过程中,Microsoft必须对如何进行数据访问做出决策。它可以直接移植ADO,但ADO建立在COM的基础上,而且大多数时候它被用作一种OLE DB上的脚本接口,一个紧密结合的、有连接的环境。Microsoft修改了ADO,淡化ADO以数据库为中心的色彩,使得它更适合在一个宽松结合的环境中运行。在ADO.NET中,Microsoft实现了ADO与.NET平台的一致性。不论我们编写的是Web表单、Windows窗体还是Web服务,如果系统中存在一个数据源,ADO.NET总是提供一组相同的类。ADO.NET重新审视了Recordset对象,把它的功能分割成了两个对象:DataSet和DataReader。如果你坚持使用ADO,那么,你仍旧可以利用.NET导入ADO类,然而,ADO不包含任何ADO.NET不能提供的功能。 

最后一个需要认识的重要问题涉及到Microsoft设计ADO.NET的方法。无论是在ASP.NET中,还是在ADO.NET中,大多数改进体现了最优秀的开发实践经验。Microsoft简单地把各种改动加入到一个一致的对象模型和一个“完全包容”的框架,单独的编程技巧在这里变成了整体功能的有机组成部分。ADO.NET是数据访问的通用编程技巧和用户共同需求的结晶,如果你要把Web系统升级到.NET,ADO.NET绝对是你必不可少的工具。
第 3 页,共 3 页 [1] [2] [3]
站内搜索