ADO.NET基础

ADO.NET基础ADO.NET基础

大家好,又见面了,我是你们的朋友全栈君。

    随着我们学习的深入会发现,不管是用VB来编写程序,还是设计网页,基本上都会和数据打交道。在处理、管理数据的过程中,ADO.NET扮演者非常重要的角色。那我们就来了解一下ADO.NET的基础知识。

一.什么是ADO.NET

    ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。

    通俗的说,ADO.NET是一种数据访问技术,使应用程序可以连接到数据存储,并以各种方式操作存储在其中的数据。

二.对比ADO.NET和ADO

相同点:

1.都能够编写对数据库服务器中的数据进行访问和操作的应用程序。

2.易于使用、高速度、低内存支出和占用磁盘空间较少。

3.支持用于建立基于客户端/服务器和 Web 的应用程序的主要功能。

不同点:

1.ADO使用OLE DB接口并基于微软的COM技术,而ADO.NET拥有自己的ADO.NET接口并且基于微软的.NET体系架构。

2.ADO以Recordset存储,而ADO.NET则以DataSet表示。

所以说,”ADO.NET”并只不是”ADO”的简单升级版本。严格的讲,ADO.NET和ADO是两种截然不同的数据访问方式。

三.ADO.NET核心

    System.Data命名空间提供了不同的ADO.NET类,它们既分工明确,又相互协作地提供表格数据的访问服务。该类库包含两组重要的类:一组负责处理软件内部的实际数据(DataSet),一组负责与外部数据系统通信(Data Provider)。具体架构如下图所示:

 ADO.NET基础

    DataSet 是 ADO.NET 的非连接(断开)结构的核心组件。DataSet 的设计目的很明确:为了实现独立于任何数据源的数据访问。因此,ADO.NET结构可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关 DataTable 对象中数据的关系信息组成。

    ADO.NET 结构的另一个核心元素是 .NET 数据提供程序(Data Provider)。具体包括:

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

Command对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。

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

DataAdapter 对象提供连接 DataSet 对象和数据源的桥梁。DataAdapter 使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对 DataSet 中数据的更改与数据源保持一致。

    

    了解了基础知识,接下来我们就要在实践中应用,多去练习,掌握的才会更深刻。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105754.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 黑群晖DSM 6.x 配置文件grub.cfg修改 mac地址/sn等修改

    黑群晖DSM 6.x 配置文件grub.cfg修改 mac地址/sn等修改新的DSM6.x配置文件和以前的XPEnoboot的配置文件不一样了,我们可以通过OSFMount虚拟光驱软件打开img后再修改。安装完成后运行OSFMount点击左下角-Mountnew,选择下载的img镜像。(注意:img镜像目录必须是英文或数字,不能是中文)选择Partition0,点击OK再把下面Read-onlydrive的选项去勾后点击OK。在OSFMount软件里双…

    2022年5月9日
    65
  • MyBatis3与Spring4整合方法详解(使用SqlSessionTemplate类)

    MyBatis3与Spring4整合方法详解(使用SqlSessionTemplate类)摘要:由于项目需要,第一次接触MyBatis,在网上找了很多MyBatis与Spring的整合方法,网上的资料不够详细,虽然讲了很多整合方法,但却没有针对每一种方法去详细讲解,对于没有相关基础的人难以操作,因此自己整理记录如下转载自:http://p.primeton.com/articles/54c1dcc5be20aa3884000012由于项目需要,第一次接触MyBatis,

    2022年5月18日
    62
  • C语言 n*n矩阵求值及求逆矩阵[通俗易懂]

    求出矩阵的值以及输出逆矩阵,英语不好,略拗口。上代码:#include#include#includeintmap1[110][110],i,j,k,l,m,n,p,vis[110][110],num;intjust[110][110];intjust2[110][110];voidprint(intmap[][110],intn)//打印矩阵{ intj;

    2022年4月13日
    144
  • opencv中resize函数怎么用(图像resize)

    opencv中的resize函数有多种用法:1,图像缩放opencv帮助文档中对resize函数的介绍:src输入图dst输出图,形态和输入图相同,当dsize不等于0,输出图尺寸会和dsize相同,当dsize等于0,输出图尺寸会由输入图尺寸、fx、fy计算而得dsize输出尺寸,当输入为0时,fx、fy皆不可为0,dsize=Size(round(fxsrc.cols),round(fysrc.rows))fx水平缩放比例,当输入为0时,fx=(do

    2022年4月17日
    308
  • idea永久激活注册码【2021最新】

    (idea永久激活注册码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0…

    2022年3月28日
    402
  • sim卡 热拔插_sim卡热插拔是什么

    sim卡 热拔插_sim卡热插拔是什么1.device/prize/pri6737t_66_m0/ProjectConfig.mk关闭:MTK_SIM_HOT_SWAP=no打开:MTK_SIM_HOT_SWAP=yes2.ker

    2022年8月5日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号