加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net如何编写高效率的SQLHelper(一)基础篇

发布时间:2020-12-17 07:46:43 所属栏目:百科 来源:网络整理
导读:基础知识储备: 1、什么是ADO.NET? MSDN 官方答: ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。ADO.NET 类位于 System.Data.dll 中,并与 System.Xml.dll 中的 XML 类集成。 ADO.NET 提供对诸如 SQL Server 和 XML 这样的数据源以及通过

基础知识储备:

1、什么是ADO.NET?

MSDN 官方答:ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。ADO.NET 类位于 System.Data.dll 中,并与 System.Xml.dll 中的 XML 类集成。ADO.NET提供对诸如 SQL Server 和 XML 这样的数据源以及通过 OLE DB 和 ODBC 公开的数据源的一致访问。共享数据的使用方应用程序可以使用 ADO.NET 连接到这些数据源,并可以检索、处理和更新其中包含的数据。

个人理解:就是.netFramework给咱提供的一个对各类数据库进行连接,并进行增删改查操作的类库,同时他也是.net 平台中唯一的资料存取元件(台湾版的名词解释)。它是从ADO发展而来,ADO又是从DAO,RDO的基础上,为了适应数据访问范例OLE DB而设计。OLE DB为任何数据源提供了高性能的访问。ADO是一个轻量级的,高性能的数据访问接口。

为什么又发展到了ADO.NET了呢?

因为,ADO对象模型在使用时,数据库连线和资源耗用的情况比较严重,从20世纪90年代兴起的Web程序应用,对于传统的这种保持连线的数据库程序设计提出了很高的要求!此时,微软提出要将资料集,Recardset离线化,要求能够在客户端创建一个小型的数据库。于是ADO+ 就产生了!后来又集成了XML,加上MS.net计划 以及.net平台的推出,这个产品也就更名为ADO.NET了。

2、ADO.NET 对象模型长啥样?看下图


3、ADO.NET 结构是怎样?见下图

从上图可知,ADO.NET 结构的一个核心元素是 .NET 数据提供程序(Data Provider)。

具体包括:

  (1)Connection 对象提供与数据源的连接。

  (2)CommandCommand对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。

  (3)DataReader 对象从数据源中提供快速的,只读的数据流。

  (4)DataAdapter 对象提供连接 DataSet 对象和数据源的桥梁,DataAdapter使用Command对象在数据源中执行 SQL 命令以向DataSet中加载数据,并将对DataSet中数据的更改协调回数据源。

  DataSet 是 ADO.NET 的非连接(断开)结构的核心组件:

  ADO.NETDataSet是专门为独立于任何数据源的数据访问而设计的。因此,它可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及有关DataTable对象中数据的主键、外键、约束和关系信息组成。

4、连线环境 PK 非连线环境?

连线环境:是指用户在这种环境下始终保持与数据源的连接。只有操作结束才断开与数据库的连接

优点:实时性好,易控制数据的同步

缺点:占用资源大,扩展性不强

非连线环境:在初次连接中可以将检索到的数据独立地放在一个容器中,当使该独立数据改变时,再重新连接到数据源,从而进行数据的合并。用到的是DateSet类对数据进行填充。

优点:资源占用少,扩展强。

缺点:同步问题、并发问题不易解决;数据的非实时性

5、什么是Date Provider?

MSDN定义:.NET Framework 数据提供程序用于连接到数据库、执行命令和检索结果。这些结果将被直接处理,放置在DataSet中以便根据需要向用户公开、与多个源中的数据组合,或在层之间进行远程处理。.NET Framework 数据提供程序是轻量的,它在数据源和代码之间创建最小的分层,并在不降低功能性的情况下提高性能。

个人理解:其实就是编码过程中我们用于连接到不同数据库的使用的不同命名空间下的类库。比如:Data.sqlclient,Date.oleDB, Date.odbc,Date.oracleclient……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读