利用ADO.NET命令进行使用介绍

开发 后端
ADO.NET命令这个功能为我们实现主-细关系模式和数据绑定机制提供了前所未有的强大工具。另外,我们还可以通过索引引用一个表。

ADO.NET命令真正的进步源自数据集这一概念的提出,在ADO中不存在与ADO.NET DataSet类似的对象。虽然我们无法从这个例子看出DataSet对象的重要性,但从体系结构上说,DataSet对象处于一个不同的层次。它允许我们在同一个逻辑对象的组织之下管理多个表,

修改数据

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

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

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

设置了关系之后,ADO.NET将拒绝所有破坏该关系的数据集改动操作,并产生一个运行时异常。在遍历表的记录时,调用GetChildRows方法可以从已连接的表访问所有相关的行。GetChildRows方法返回一个DataRow对象的数组,这是一种新的分层式记录导航方式,而传统的记录导航方式属于顺序模式或随机模式。

关系是不可传递的。ADO.NET命令假设表A关联到表B,表B又关联到表C的一些行。另外,假设在遍历表A记录的时候,对于每一个表A的记录,我们要访问现有关系中的子记录。如果我们想要访问对应表B中特定记录的表C记录,那么,我们不能使用由A-B的关系得到的表B的ADO.NET命令;相反,我们必须从表B打开一个新的表视图,找到我们想要的特定记录,然后通过表B对表C的关系调用GetChildRows方法。

责任编辑:chenqingxiang 来源: 清华大学出版社
相关推荐

2009-12-23 13:23:29

ADO.Net Sql

2009-12-18 17:29:40

ADO.NET应用程序

2010-01-04 10:48:30

ADO.NET特色

2009-12-23 11:10:38

ADO.NET状态

2009-12-28 17:09:34

ADO.NET实例

2009-12-23 16:43:34

ADO.NET模型

2009-12-25 09:25:54

ADO.NET实例

2009-12-22 15:20:25

ADO.NET功能

2010-01-04 13:16:31

ADO.NET命令

2009-12-24 14:54:25

ADO.NET使用

2009-12-23 09:55:23

ADO.NET数据源

2009-12-25 09:59:48

ADO.NET分页

2009-12-21 14:39:09

ADO.NET技巧

2009-12-30 11:13:28

ADO.NET操作

2009-12-22 16:10:21

ADO.NET框架

2009-12-30 16:50:26

ADO.NET事务

2009-12-31 10:16:45

ADO.NET体系结构

2009-09-09 10:23:59

ADO.NET连接

2009-12-29 15:22:40

ADO.NET类库

2009-12-23 11:01:50

ADO.NET 批处理
点赞
收藏

51CTO技术栈公众号