详细进行ADO.NET 批处理更新步骤介绍

开发 后端
ADO.NET 批处理更新之前,我需要阐明常常会导致某种误解的批处理更新模型的一个方面,从本质上来说,这就是批处理更新。

ADO.NET 批处理中,批处理更新只可能发生在基于 SQL 的数据源上。在ADO.NET 批处理中,批处理更新则可能发生在任何种类的托管提供程序上,其中包括那些不应该通过 SQL 查询语言公开其数据的托管提供程序。

在这两种情况下,数据访问都会产生完全双向绑定,并涉及各种不同的对象和方法。您可以使用如 SqlCommand 和 OleDbCommand 等命令类来执行单个命令。可使用数据适配器对象来下载断开连接的数据,提交更新的行集。虽然 “数据集” 是数据适配器用于返回和提交记录块的容器对象,但各个命令通过数据读取器对象返回数据。

更新是通过各个命令、存储过程完成的,通常,ADO.NET 批处理托管提供程序理解的任何命令文本一般都被称为更新。更新命令总是执行嵌入在语句正文中的新数据。更新命令总是需要一个打开的连接,可能还需要一个正在进行的事务处理或一个新的事务处理。#t#

批处理更新则是一个略有不同的方法分支。从***的抽象级别来看,您并不发出命令,无论它可能有多么复杂。取而代之的是,您提交在客户端修改的当前行的快照,并等待数据源批准。批处理更新背后的关键概念是数据断开连接的概念。您下载行表,通常为数据集,根据需要在客户端对它进行修改,然后将这些行的新映像提交到数据库服务器。您所作的是提交更改,而不是执行一个对数据源创建更改的命令。这就是更新(我在 July column 一文中讨论过这个问题)和批处理更新之间的本质区别。

下图说明了ADO.NET 应用程序的双更新体系结构。

ADO.NET 应用程序的双更新体系结构

 

在进一步详细讨论 ADO.NET 批处理更新之前,我需要阐明常常会导致某种误解的批处理更新模型的一个方面。虽然更新和批处理更新在 ADO.NET 内的实际实现方面有着本质的区别,但它们遵循的是同一个更新模型。更新和批处理更新都是通过直接的并且特定于提供程序的语句来完成的。

当然,由于批处理更新通常涉及到更多的行,所以这些语句会被组合为一个批处理调用。批处理更新会对目标数据集的行进行从头到尾的循环,只要发现更新的行,就会发出适当的更新命令(INSERT、DELETE 或 UPDATE)。对更新的行进行通信时,ADO.NET 批处理将运行一个预定义的直接 SQL 命令。从本质上来说,这就是批处理更新。

责任编辑:chenqingxiang 来源: CSDN
相关推荐

2009-12-29 17:02:15

ADO.NET 管理

2009-12-23 11:01:50

ADO.NET 批处理

2010-01-04 13:16:31

ADO.NET命令

2009-11-11 10:27:22

ADO.NET入门

2009-12-25 14:23:35

ADO.NET设置

2009-10-29 11:18:47

ADO.NET SQL

2009-12-18 14:27:24

ADO.NET对象

2009-12-29 15:22:40

ADO.NET类库

2009-12-30 16:05:20

ADO.NET实例

2009-12-28 13:53:01

ADO.NET记录集

2009-12-23 16:43:34

ADO.NET模型

2009-12-23 11:10:38

ADO.NET状态

2009-12-28 17:09:34

ADO.NET实例

2009-12-31 16:09:22

ADO与ADO.NET

2010-01-04 10:48:30

ADO.NET特色

2009-12-29 14:01:45

ADO.NET Sql

2009-12-18 16:28:35

ADO.NET结构

2009-12-22 09:43:20

ADO.NET对象

2009-12-24 10:06:30

ADO.NET字符串

2009-12-18 15:11:50

ADO.NET类
点赞
收藏

51CTO技术栈公众号