C#与数据库访问技术总结(一)之体系结构

说明:这个小节是对于概念的介绍,可能有点枯燥,但建议还是粗略的看一下。

 

    ADO.NET(ActiveX Data Object.NET)是Microsoft公司开发的用于数据库连接的一套组件模型,是ADO的升级版本。

    程序员能使用ADO.NET组件模型,方便高效地连接和访问数据库。

1 ADO.NET概述

    ADO.NET是与数据库访问操作有关的对象模型的集合,它基于Microsoft的.NET Framework,在很大程度上封装了数据库访问和数据操作的动作。

    ADO.NET同其前身ADO系列访问数据库的组件相比,做了以下两点重要改进:

    ADO.NET引入了离线的数据结果集(Disconnected DataSet)这个概念,通过使用离线的数据结果集,程序员更可以在数据库断开的情况下访问数据库。

    ADO.NET还提供了对XML格式文档的支持,所以通过ADO.NET组件可以方便地在异构环境的项目间读取和交换数据。

1.1 ADO.NET体系结构

    ADO.NET组件的表现形式是.NET的类库,它拥有两个核心组件:.NET Data Provider(数据提供者)和DataSet(数据结果集)对象。

    .NET Data Provider是专门为数据处理以及快速地只进、只读访问数据而设计的组件,包括Connection、Command、DataReader和DataAdapter四大类对象,其主要功能是:

     Connection:在应用程序里连接数据源,连接SQL Server数据库服务器。

     Command:通过SQL语句的形式执行数据库操作,并能以多种形式把查询到的结果集填充到DataSet里。(其他对象的功能后面还有介绍)

    DataSet对象是支持ADO.NET的断开式、分布式数据方案的核心对象。DataSet是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。它是专门为独立于任何数据源的数据访问而设计的。

    DataSet对象的主要功能是:

    (1)用其中的DataTable和DataRelations对象来容纳.NET Data Provider对象传递过来的数据库访问结果集,以便应用程序访问。

      (2)把应用代码里的业务执行结果更新到数据库中。

    并且,DataSet对象能在离线的情况下管理存储数据,这在海量数据访问控制的场合是非常有利的。

下图描述了ADO.NET组件的体系结构。(也许下面这张图对于初学者看不懂,但当你读完整个系列的文档的时候,再回头看的时候,就会一目了然。)

 

 

1.2  ADO.NET对象模型

    ADO.NET对象模型中有5个主要的数据库访问和操作对象,分别是Connection、Command、DataReader、DataAdapter和DataSet对象。

Connection对象主要负责连接数据库

Command对象主要负责生成并执行SQL语句

DataReader对象主要负责读取数据库中的数据

DataAdapter对象主要负责在Command对象执行完SQL语句后生成并填充DataSet和DataTable

DataSet对象主要负责存取和更新数据

   ADO.NET主要提供了两种数据提供者(Data Provider),分别是SQL Server.NET Provider和OLE DB.NET Provider。

    SQL Server.NET Framework数据提供程序使用它自身的协议与SQL Server数据库服务器通信,而OLEDB.NET Framework则通过OLE DB服务组件(提供连接池和事务服务)和数据源的OLE DB提供程序与OLE DB数据源进行通信。

    它们两者内部均有Connection、Command、DataReader和DataAdapter 4类对象。对于不同的数据提供者,上述4种对象的类名是不同的,而它们连接访问数据库的过程却大同小异。

    这是因为它们以接口的形式,封装了不同数据库的连接访问动作。正是由于这两种数据提供者使用数据库访问驱动程序屏蔽了底层数据库的差异,所以从用户的角度来看,它们的差别仅仅体现在命名上。

   下表描述了这两类数据提供者下的对象命名。

 

对象名

OLE DB数据提供者的类名

SQL Server数据提供者类名

Connection对象

OleDbConnection

SqlConnection 

Command对象

OleDbCommand

SqlCommand

DataReader对象

OleDbDataReader

SqlDataReader

DataAdapter对象

OleDbDataAdapter

SqlDataAdapter

版权声明:本博文属于作者原创或从其他地方学习而来的博文,未经许可不得转载.

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐白001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值