跨时代的改进:ADO.NET简介(附图)

原创 2001年10月25日 08:27:00

跨时代的改进:ADO.NET简介(附图)

  ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。

  可编程性

  利用Visual Studio.NET,你可以对你的对象进行编程,而不是某一个数据表或某一个数据列。ADO.NET采用强类型编程,可以更好的表述业务对象。

  例如,在以下的代码行中采用了传统的程序设计(不是强类型的)

  IF TotalCost > Table("Customer").Column("AvailableCredit")

  在这个例子中,采用的是关联的、抽象的方式对ADO表和列进行编程。

  如果采用强类型编程,事情就变得简单多了:

  IF TotalCost > Customer.AvailableCredit

  除了能够方便阅读,强类型代码也更加容易编写。特别是依靠语句自动补写功能,你编写的对象也能够识别。在下例中可以看到,利用IntelliSense(智能感应)技术,可以方便的找到与Customers相关的表。

2758-1.gif
图一.强类型编程和IntelliSense

  此外,强类型数据集有更高的执行速度,因为应用程序不必在每次访问数据成员时都去ADO对象集合中查找了。

  运用Data Set (数据集)

  任何采用ADO.NET的应用方案中最重要的就是数据集了。数据集是指数据库数据在内存中的拷贝。一个数据集可以包含任意多个数据表,每一个一般都对应于数据库中的表或视图。数据集组成了一个非连接的数据库数据视图。也就是说,它在内存中,并不和包含对应表或视图的数据库维持一个活动连接。这种非连接的结构体系使得只有在读写数据库时才需要使用数据库服务器资源,因而提供了更好的可伸缩性。

  在运行时,数据会从数据库中取出并先传给一个中间层业务对象,然后传至用户界面。为了适应这种数据交换,ADO.NET采用了基于XML的持续的传递格式。也就是说,当数据从一个层传向另一个层时,ADO.NET的方案是将内存中的数据(即数据集)表述为XML,然后以XML格式传递给其他组件。

  下图为ADO.NET解决方案中主要组件。

2758-2.gif
图二. ADO .NET体系结构

  为了方便处理数据,Visual Studio.NET添加了许多新特性。对于高级XML开发者,Microsoft提供了一个有色彩标识的XML设计器,它具有语句自动补写和标签自动补写的功能。

2758-3.gif
图三.有色彩标识、语句补足和标签补足的XML设计器

  如果想要更加图形化的数据视图,开发者可以使用XML设计器的设计视图:只要将数据源,包括Microsoft SQL Server和Oracle数据库,拖拽到设计界面中,就可以轻松完成。你可以用任意的数据源,包括XML文件,来创建你的数据集。

2758-4.gif
图四. ADO.NET数据集设计器

  通常,你需要添加、修改或删除数据来开发你的应用程序。利用数据预览标签,你不仅可以添加修改数据,你还可以操纵数据之间的关联。

2758-5.gif
图五.数据预览

  在Visual Studio.NET中数据绑定技术已经大大改进,用来充分发挥ADO.NET的优势。构建与数据交互的用户界面变得更加简单。更重要的是,你可以将值绑定到业务对象和XML Web服务中。

ado.net 学习小结

连接数据源 Connection对象。Connection对象处于最顶层,是所有数据访问请求的关口。我们通过其暴露的属性进行配置。下面是一段连接字符串的示例。   1 if (stri...
  • linkunhao123
  • linkunhao123
  • 2015年12月22日 10:01
  • 114

ADO.NET学习笔记(一)

ADO.NET创建基于服务的数据库并运用步骤如下:   0.打开VS,创建相应的解决方案,建立相应的窗体应用程序。   1.建立基于服务的附加数据库。   2.建立新表方法一:直接建...
  • zhx278171313
  • zhx278171313
  • 2013年09月08日 12:59
  • 781

中央台“互联网时代”纪录片分集要点

第一集  互联网诞生的背景 蒸汽机和它的后代们开启的大工业,将人类从徜徉万年的田野和山泽中召唤出来,在特定的地点,汇聚为集体共生的大都会。在确定的地点集中,在确定的地点工作,在确定的地点和时间学习、...
  • shuiboli_2008
  • shuiboli_2008
  • 2014年11月15日 12:55
  • 1873

C# ADO.Net事务处理

SQL Server中的事务可以将多个数据库增删改查操作合并为单个工作单元,在操作过程中任何部分出错都可以滚回已经执行的所有更改.ADO.Net中也提供了事务处理功能,通过ADO.net事务,可以将多...
  • miniduhua
  • miniduhua
  • 2016年10月21日 14:23
  • 3259

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

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

海量数据插入数据库效率对比测试 ---ADO.NET下SqlBulkCopy()对比LINQ 下InsertAllOnSubmit()

摘要:使用.NET相关技术向数据库中插入海量数据是常用操作。本文对比ADO.NET和LINQ两种技术,分别使用SqlBulkCopy()和InsertAllOnSubmit()方法进行操作。得出结论:...
  • fanrong1985
  • fanrong1985
  • 2014年11月07日 10:48
  • 1458

初识跨终端Web

最近试读了《跨终端Web》这本书的部分章节,既为了拿到书,也为了记录下读后的收获的东西,这会是个很好的习惯吧。          标题为“初识跨终端Web”,对我来说最贴切了,在此之前,我所做的网页...
  • xzh_loop
  • xzh_loop
  • 2014年07月21日 23:53
  • 1487

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

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

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

C++ 通过ADO.Net实现与MySql数据库连接 入门教程前言
  • u013978977
  • u013978977
  • 2016年07月15日 17:15
  • 589

ADO和ADO.NET的区别

ADO.NET是ADO的后继版本,主要目的是在.NET Framework中更容易地创建分布式、 数据共享的应用程序,它提供了一个数据访问接口,以便和OLE DB数据源进行通信,如 SQL S...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2014年04月30日 10:11
  • 4133
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跨时代的改进:ADO.NET简介(附图)
举报原因:
原因补充:

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