之前对ADO,就没有多大程度的理解,然后就总结了总结,关于数据库的连接史,和ADO与ADO.NET的区别,总结如下:
ADO(ActiveX Data Objects),我们称它为一种用于数据访问的对象模型。
它是什么? ——对象的集合
干什么用的?——访问数据
一.微软数据库访问的几个阶段:
DAO:最早的数据库访问方法,只用于操纵ACCESS数据库(只支持单机使用)
ODBC:是第一个使用SQL访问不同数据库的技术,通过单一指令操纵不同数据库,只需要针对不同的应用加入相应的ODBC驱动。
然后,随着发展,有了跨网络,和从其他服务器上查询数据库需求...........RDO的出现就顺理成章
RDO:远程数据控件,可支持本机和跨网络查寻,但是,由于技术原因,产生了很多BUG,就被搁置了
紧接着,随着COM组件的发展,产生了ADO对象模式,它继承了RDO的概念,使得更简单,更高级,更适合使用,消除了RDO的各种弊端
随之,也产生了,基于ActiveX组件,符合COM规范的OLEDB驱动程序,这个OLEDB适合在本机对数据库的查询存储,如果要进行网络数据库操作或是使用非微软产品,驱动程序还是使用ODBC
可能这有点乱..........
二.看看图
ADO的好处在于,使数据库底层(下图第三块)自己操作完成对数据库的存储访问。而用户抛开底层机制,只通过ADO 来进行询问(下图第一块)。
三.下面比较一下ADO与ADO.NET的访问过程:
区别在哪里:
总结:ADO使用OLEDB 接口基于COM 技术,而ADO.NET拥有再记得ADO.NET接口并基于微软的.NET架构。.
ADO以Recordset存储,而ADO.NET以DataSet表示,前者更像单表,若让Recordset以多表表示必须在SQL中进行多表连接。而Dataset可进行多表集合,就是说,DataSet可以存放多个记录和关系,而Recordset只能存一个表,如果想让两个有关系的表,形成一个新的表,我们只能在数据库中操作,这样很麻烦。
ADO运作方式是在线方式,意味着浏览器或是更新数据必须是实时的,ADO.NET是离线方式,访问时ADO.NET会利用XML制作一个副本,ADO.NET的链接也只有这段时间需要在线。离线处理数据,减少服务器端对数据库的负载。