ADO.NET(Beta2)基础(1)——综述

原创 2001年12月14日 13:46:00

图1表示层通常基于HTML输出,并能够很好地与任何较新的浏览器一起工作。网页是在 Web服务器上使用Active Server Pages (ASP)构建的,并且只有在一些相当特殊的情况下才试图通过COM、动态HTML和XML支持来提供浏览器的实际功能。 关键之处是中间层,其中通常有一层或多层业务对象获取并交换数据来响应用户的输入。这些组件可能需要彼此传递数据,并且在传递数据的过程中,它们需要一种易于使用、功能强大并为所有组件所理解的公用数据格式。
   ADO记录集(表或视图的ADO表示)是一个相当不错的解决方案。 ADO记录集的灵活性足以使你能够毫不费力地定位记录以及使用过滤器和书签。它们还提供排序、自动分页和持久性等功能,并能在与数据源断开时工作。可以在多层之间相当高效地汇集记录集。 不过只有COM对象才能使用ADO记录集。这在COM/DCOM在业务层中占主导地位的同构体系结构中是合适的。但涉及到诸如大型机或Unix平台之类的异构节点时,就会带来很大的不便。 在可编程Web时代需要一种能同时跨越各种平台的操作数据的编程接口,但目前现实中的ADO,特别是记录集,是在Windows 和基于 COM的方案中操纵数据的强有力的工具。随着系统逐渐向完全的Internet互操作性方向演变,它们逐渐丧失了其吸引力。

在完美的情况下,应该能够在任何平台或设备上以相同的方式访问数据,并具有相同的灵活性。这样,每个平台或设备都可以根据需要自由地操纵数据。但如果通过ADO记录集操作数据,则会使自己和应用程序陷于有限互操作性之中。目前,如果通过ADO对数据进行访问,并希望将其传送到远程组件,要么使用从数据访问模块获得的相同的ADO记录集,要么将其转换为能够通过网络传送的另外的东西,最为重要的是,能够在其最终目的地被理解。记录集需要COM汇集,举例来说,COM调用并不是总能穿过公司防火墙。此外,在对ADO记录集进行汇集时,总处理时间的很大部分是用于完成必要的类型转换。事实上,必须确保记录中的所有的值映射到COM能够识别并知道如何进行处理的有效数据类型。当有关的组件在物理上是分开的并在不同的机器上运行时,COM汇集因素变得更为重要。因此,在向完全由Internet连接起来的世界前进的过程中,目前的Windows数据种类连同ADO记录集必须有所发展才能继续存在下去。 ADO需要改变是由于跨平台模块的交互作用需要一个通用数据模型。此外,我们不希望这个改变太大,原因是ADO内还存在若干很好的功能,放弃它们是一件可惜的事情。我们需要提取ADO记录集的本质,并将其重新构建成可以便利地在任意平台上进行传输和处理的另外一种东西。HTTP提供了被大多数人广泛接受的网络渠道。XML将广泛接受的数据描述的基础结构集合在一起。ADO.NET是对ADO的较小改进,它使之成为一个用于创建分布式和数据共享应用程序的基于各种标准的编程模型。

所有ADO.NET对象的基本原理和根源都是DataSet对象模型。

DataSet是ADO记录集的延伸。DataSet是一个简单、独立、存在于内存中的数据库视图。如果一个DataSet和数据源之间没有限制条件,在这种情况下的DataSet可以被动态地创建。DataSet使用了一些添加到ADO记录集中的功能:断开时工作的能力或用各种数据类型来填充和创建应用程序的能力等。一个DataSet可以包含任意数目的表,每个表通常(但不总是)对应于一个数据库表或视图。一个表(DataTable 对象)是一些行与列的集合,每一条记录行均保留其原始状态及其当前状态。

ADO 记录集经常被看作为一种高级的数组形式。同样,DataSet是一种提供以下功能的超级记录集:

☆ 一种容纳数据的更好和更丰富的编程接口;

☆ 一种提供更为广义的数据视图的对象模型;

☆ 一种用于输入和输出的基于XML的标准控制台。

ADO 记录集基本上是一种(可能是分层的)记录集合,它带有一些特定方法,用于完成一些特定功能。其中包括滚动、排序、过滤、书签。记录集本质上是表在内存中的副本。而DataSet看起来更象SQL Server 或Access数据库,它是一个包含更多表、特定视图和外键关系的实体。DataSet对象模型反映了这一较大的范围,它允许查看跨越多个数据表、关系、扩展属性和行的多个集合的可用数据,还可用于说明非持久数据或来自不是数据库的另一个持久存储介质的数据。

ADO 记录集允许将内容保存到XML中,并从一个外部XML文件重新构建该内容。然而,采用的缺省XML架构是针对导出/导入ADO 记录集而优化的,而不是针对实际数据交换的。ADO XML架构包含许多关于列类型和位置以及其他元数据的信息。如果希望从某一XML文档中重新构建记录集,则这些信息是至关重要的,但如果只是希望传递数据并使接收者使用它,则这些信息没有什么用处。有了DataSet,XML架构更为精练,因为被表示的对象与关系数据库没有直接关系,尽管对象可以用来再现数据库。DataSet对数据进行描述,而ADO 记录集则对由某一表中获取的一个记录集合进行描述。这就是ADO.NET数据模型的吸引之处。

ADO.NET XML架构只是负责再现表以及数据集中定义的关系,构建一个DataSet对象的责任则留给ADO.NET运行时完成。ADO XML格式由于过于具体而无法真正实现互操作。又因为它过于繁琐,所以如果不进行数据压缩的人工干预,它将无法进行汇集。而在DataSet体系结构中,可以安全地将数据从一层发送到另一

【Ado.Net】基础知识+简单实例

为什么要学Ado.Net?  作为程序员,我们一般都可以在Sql Server 的查询分析器里面查看和操作数据库中的数据。但是普通的用户如果要查看和操作数据库中的数据,在查询分析器里面就不会了,我们不...
  • Gnd15732625435
  • Gnd15732625435
  • 2017年02月04日 21:59
  • 346

ADO.NET基础笔记(1)

作者:云都小生 概述 MMP,学了这么久开发,终于开始学习如何通过编程来对数据库进行交互了。这次带来的是C#与SQL数据库的交互。 SqlConnection 在打开连接之...
  • Cloudkings
  • Cloudkings
  • 2018年01月06日 23:38
  • 60

ASP.NET基础面试题

1. 重 载(Overload ) 和覆写(override) 的区别 答: 方法重载:当类包含两个名称相同但签名不同( 方 法名相同, 参数列表不相同) 的方法时发生方法重载。用方法重载来提供在语义...
  • RunAtWorld
  • RunAtWorld
  • 2016年02月16日 17:02
  • 959

揭开ADO.NET神秘面纱——ADO.NET结构综述

ADO.NET提供了两个主要的组件来访问和操作数据,它们分别是.NET Framework 数据提供程序和 DataSet,为了更好的进行数据库的程序设计,我们非常有必要了解下ADO.NET的工作机制...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2013年03月18日 00:28
  • 3189

对ADO.NET的认识

1、定义   ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。 ADO.NET 为创建分布式数据共享应用程序提供了一组丰富的组件。 它提供了对关系数据、X...
  • caozhangyingfei0109
  • caozhangyingfei0109
  • 2013年03月17日 14:30
  • 1363

Python爬虫一(入门综述、基础)

转载:静觅 » Python爬虫入门一之综述 首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维...
  • freeking101
  • freeking101
  • 2017年03月01日 21:27
  • 435

ADO.NET基础(1) 连接数据库

ADO.NET是微软开发出来的使用.net技术操作数据库的一套类库。在VS中对SOL Server 数据库进行操作使用到了两个命名空间,一个是System.Data,一个是System.Data.Sq...
  • Tiny_More
  • Tiny_More
  • 2016年10月25日 20:24
  • 126

计算机视觉入门综述

计算机视觉入门综述 自大二下学期以来,学习计算机视觉及机器学习方面的各种课程和论文,也亲身参与了一些项目,回想起来求学过程中难免走了不少弯路和坎坷,至今方才敢说堪堪入门。因此准备写一个计算机视觉方面...
  • KHFlash
  • KHFlash
  • 2017年12月16日 18:29
  • 82

c++使用ADO和C#使用ADO.net

#include      #include   #include time.h>   #include   using   namespace   std;     #im...
  • Q_Q1111
  • Q_Q1111
  • 2014年10月09日 09:44
  • 153

C++ 通过ADO.Net实现与MySql数据库连接 入门教程

C++ 通过ADO.Net实现与MySql数据库连接 入门教程前言
  • u013978977
  • u013978977
  • 2016年07月15日 17:15
  • 589
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO.NET(Beta2)基础(1)——综述
举报原因:
原因补充:

(最多只允许输入30个字)