微软数据访问方式历史阶段

①ODBC(Open Database Connectivity)是第一个使用SQL访问不同关系数据库的访问技术。使用ODBC应用程序能够通过单一的命令操作不同的数据库,而开发人员需要做的仅仅只是针对不同的应用加入相应的ODBC驱动。(只面向C/C++)

②DAO(Data Access Objects)不像ODBC那样是面向C/C++程序员的,它是微软提供给Visual Basic开发人员的一种简单的数据访问方法,用于操纵Access数据库。

③RDO(Remote Data Objects):在使用DAO访问不同的关系数据库的时候,Jet引擎不得不在DAO和ODBC之间进行命令的转化,导致了性能的下降,而RDO的出现就顺理成章了。

④OLE DB(Object Link and embed):随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了。

⑤ADO:基于OLE DB之上的ADO更简单、更高级、更适合C#程序员,同时消除了OLE DB的多种弊端,取而代之是微软技术发展的趋势。

ADO.NET简介

1.ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,也就是一个通用框架类库,该类库将跨越所有存在的WindowsAPI函数。简单来说,它是在.NET编程环境中使用的数据访问接口。

2.ADO.NET是与C#和.NET Framework一起使用的类集的名称,用于以关系型的、面向表的格式访问数据。

3.AOD.NET被集成到.NET Framework中,可用于任何.NET语言,尤其是C#。

ADO.NET对象模型构成

ADO.NET技术中的五大对象

1.Connection                 ---连接

2.Command                  ---命令

3.DataReader                ---数据阅读器

4.DataAdapter                ---数据适配器

5.DataSet                       ---数据集

ADO.NET有两部分构成:

(1)数据提供程序(Provider):它能和数据库保持链接并且执行SQL命令,操纵数据集。

(2)数据集(DataSet):能与数据库在断开链接的情况下进行数据库操作。

1.数据库比作水源,存储了大量的水(数据);

2.Connection好比伸入水中的进水龙头,保持与水的接触,只有它与水进行“连接”,其他对象才可以抽到水

3.Command则像抽水机,为抽水提供动力和执行方法,通过“水龙头”,然后把水返给上面的“水管”。

4.DataAdapter、DataReader就像输水管,担任着水的传输任务,并起着桥梁的作用。

5.DataAdapter就像一根输水管,通过发动机,把水从水源输送到水库里进行保存。

6.DataReader也是一种水管,起着同样的作用。

7.和DataAdapter不同的是,DataReader不把水输送到水库里面,而是单向地直接把水送到需要水的用户那里或田地里,所以要比在水库中转一下(速度)更快。

8.DataSet则是一个大水库,把抽上来的水按一定关系的池子进行存放。即使撤掉“抽水装置”(断开连接,离线状态),也可以保持“水”的存在。这也正是ADO.NET的核心。

9.DataTable则像水库中的每个独立的水池子,分别存放不同种类的水。一个大水库由一个或多个这样的水池子组成。

14-4 ADO.NET简介的更多相关文章

  1. ADO接口简介

    源地址:http://blog.csdn.net/xiaobai1593/article/details/7449151 参考: 1. 百度文库:http://wenku.baidu.com/view ...

  2. ADO.NET简介

    一.ADO.NET ADO.NET源起ADO(ActiveX Data Objects),是一个COM组件库,在NET编程环境中优先使用的数据访问接口, 提供对诸如 SQL Server 和 XML ...

  3. Go 1.14 中 Cleanup 方法简介

    目录 一般的测试 使用 defer 清除依赖 使用 Cleanup 关于t.Parallel 总结 原文:What's New In Go 1.14: Test Cleanup 单元测试通常遵循某些步 ...

  4. 14、BigInteger类简介

    BigInteger类概述 BigInteger类可以让超过Integer范围的数据进行运算,通常在对数字计算比较大的行业中应用的多一些. package com.sutaoyu.usually_cl ...

  5. 14-4 ADO.NET简介2

    14-4-1Connection连接.关闭数据库 1.为了访问数据库,就要提供数据库连接类,在C#中,是通过Connection类来实现的.它有 四种类型的连接方式: SQLConnection AD ...

  6. VC++ ADO相关

    <VC对ADO的操作> ADO概述: ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口. ADO 使您能够编写应用程序以通过 ...

  7. dicom通讯的工作方式及dicom标准简介

    本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”. 文件数据组织方式  网络数据组织方式.文件数据组织方式就是解析静态 ...

  8. linux 学习 14 日志管理

    第十四讲 日志管理 14.1 日志管理-简介 .日志服务 在CentOS .x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服 ...

  9. ADO.NET操作数据库(一)

    ---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...

随机推荐

  1. js constructor typeOf 区别

    constructor 属性返回对创建此对象的数组函数的引用. 例如:const obj = {a: 1}        console.log(obj.constructor)   // funct ...

  2. mysql5.7设置默认的字符集

    修改/etc/my.cnf文件 一.在[mysqld]下添加: default-storage-engine=INNODB character-set-server=utf8 collation-se ...

  3. 无法定位程序输入点到xxx.dll

    Q:安装pytorch时报错无法定位程序输入点到Anaconda3\Library\bin\libssl-1_1-x64.dll A:下载libssl-1_1-x64.dll覆盖bin下的文件 下载地 ...

  4. Java 自定义异常

    新建类CustomException继承 Exception /** * Create by on 2019-07-30 * 自定义类需要继承Exception * @author lsw */ pu ...

  5. 基于Hadoop爬虫网易云歌曲评论

    作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3339 本次选取的是爬取歌曲<大碗宽面>的歌评数据 1.将 ...

  6. IDEA中执行maven命令:mvn clean 时报错

    问题描述: 完成项目中的功能后,想要git一下,就用maven命令先清除一下编译文件,紧接着系统报错 Error executing Maven. 2 problems were encountere ...

  7. 剑指offer:链表中环的入口结点

    题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 思路分析: 这道题首先需要判断链表是否存在环,很快就能想到用快慢指针来判断. 由于快慢指针的相遇位置并不一定为链 ...

  8. grandle Project sync failed.please fix your project and try again

    Android Studio导入项目或者新建项目想运行的时候可能会报错Gradle project sync failed. Please fix your project and try again ...

  9. redis 使用redis Desktop manger进行远程进行链接

    1.修改redis.conf文件: a.去掉bind:127.0.0.0 b.protected mode 模式改成 no 2.重启redis /etc/init.d/redis restart 3. ...

  10. C# Newtonsoft.Json解析json字符串处理(最清晰易懂的方法)

    需求: 假设有如下json字符串: { ", "employees": [ { "firstName": "Bill", &quo ...