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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux虚拟主机通过FTP软件创建目录时提示550 Create Directory Operation Failed

    Linux虚拟主机通过FTP软件创建目录时提示550 Create Directory Operation Failed

    2021年10月7日
    55
  • Java LDAP统一身份认证

    不多说直接看代码,如下:importjava.util.Hashtable;importjavax.naming.AuthenticationException;importjavax.naming.Context;importjavax.naming.NamingEnumeration;importjavax.naming.NamingException;import…

    2022年4月6日
    60
  • 函数的凹凸性_函数凹凸性与图像

    函数的凹凸性_函数凹凸性与图像设函数$f(x)$在区间$I$上有定义,在$I$内任取两点$x_{1},x_{2}$,对任意的 $\lambda\in(0,1)$,有 $\lambdax_{1

    2022年8月1日
    4
  • Python的for循环_python中的while语句

    Python的for循环_python中的while语句for循环和while循环有什么区别?众做周知,循环是Python中最基础也是最常见的知识点之一,下面我们来一起好好学习一下for循环和while循环,并对比分析两者的使用区别,帮助Python初学者可以更好地掌握两者的内容和应用,下面一起来看看吧~1、for循环(1)概念for循环可以遍历任何序列的项目,比如字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。(2)代码示例:终端…

    2022年8月12日
    4
  • c++字符串转int_python中lower的用法

    c++字符串转int_python中lower的用法在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long和int范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展了。不同的编

    2022年10月22日
    0
  • UART和USART的区别

    UART和USART的区别UART定义  UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。  通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter),通常称作UART,是一种异步收发传输…

    2022年5月12日
    41

发表回复

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

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