ADO.NET是ADO的后继版本,主要目的是在.NET Framework中更容易地创建分布式、

数据共享的应用程序,它提供了一个数据访问接口,以便和OLE DB数据源进行通信,如

SQL SERVER.应用程序可以使用ADO.NET连接这些数据源,并检索、处理和更新数据。

可以说ADO.NET是在ADO的基础上,又进一步的扩展,提供了更多新的工具,可以获取

一个真正断开连接的数据体系结构,可以将不同数据源中的数据组合起来,并优化了和

数据库交互的功能。

下面是ADO和ADO.NET之间一些数据访问功能的区别

功能

ADO

ADO.NET

内存表示方式

适用Recordset

使用DataSet对象

表之间关系

适用JOIN查询来组装数据

支持DataRelation对象,将表关联起来

数据访问

适用.MoveNext方法顺序遍历

通过DataTable的Rows集合索引访问

断开访问

默认情况下,通过调用OLEDB提供程序来和数据通信

可以通过OLEDB或者SQL SERVER数据提供数据通信

为了进一步弄清楚ADO和ADO.NET的区别和相似处,下面来看一些代码。首先是ADO代

码,我们在第一次做机房收费系统的时候,用到过这些知识。该代码获取CESHI数据库中

User表中的Recordset,并在其中遍历,输出每一个用户名:

Private Sub GetUser()Dim strSQL As StringDim strConn As StringDim objRS As ADODB.RecordsetDim strResult As String'建立连接strConn = "provider=SQLOLEDB;Initial Catalog=CESHI;" _& "data source=(local);user id=sa;password=123456"strSQL = "select * from btuser"'创建一个Recordset实例objRS = New ADODB.RecordsetWith objRS.cursorlocation = adUserClient.CursorType = adOpenStatic.open(strSQL, strConn)Do Until .EOFstrResult = .Fields("firstname").value _& "" & .Fields("Lastname").value.movenext()LoopEnd WithobjRS = NothingEnd Sub

在ADO中通过Recordset对象来进行操作,下面来看看在ADO.NET中是如何操作的

 Dim strSQL As StringDim strConn As StringDim objDA As SqlClient.SqlDataAdapterDim objDS As New Data.DataSetDim inCounter As IntegerDim strResult As StringDim objcommand As New SqlCommandstrConn = "initial catalog=CESHI;data source=(local);" _& "user id=sa;password=123456"strSQL = "select * from tbuser"objDA = New SqlDataAdapter(strSQL, strConn)objDA.Fill(objDS)With objDS.Tables(0)For inCounter = 0 To .Rows.Count - 1strResult = .Rows(inCounter).Item("username").ToString _& "" & .Rows(inCounter).Item("password").ToStringMessageBox.Show(strResult)NextEnd With

通过对比我们发现,其实连接字符串所使用的方法相同,不同的是把他们直接传送的

对象不同,在ADO.NET中,只不过换了下对象,比以前的操作更容易操作而已。



ADO和ADO.NET的区别相关推荐

  1. ADO与ADO.NET的区别与介绍

    1. ADO与ADO.NET简介 ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用.高速度.低内存支出和占用磁盘空间较少,支持用于建立 ...

  2. ADO,OLEDB,ODBC,DAO的区别

    ADO NET OLEDB ODBC连接数据库的区别 http://www.doc88.com/p-976312043296.html http://blog.csdn.net/ithomer/art ...

  3. 数据库的ODBC连接,ADO和BDE有什么区别和联系?

    数据库的ODBC连接,ADO和BDE有什么区别和联系? 悬赏分:0 - 解决时间:2006-11-24 11:26 . 提问者: zwl232 - 助理 二级 最佳答案 ADO与BDE区别比较大的 A ...

  4. ADO, OLEDB, ODBC, DAO的区别

    ADO, OLEDB, ODBC, DAO的区别 ADO, OLEDB, ODBC, DAO的区别 ODBC(Open Database Connectivity,开放数据库互连) DAO(Data ...

  5. ADO 与ADO.NET

    原文出自:http://www.microsoft.com/china/community/program/originalarticles/techdoc/ADONET.mspx ADO 与ADO. ...

  6. ODBC、OLEDB、ADO、ADO.NET之间的关系

    相信看到这篇文章的人,心中肯定有这样的想法:ODBC.OLEDB.ADO.ADO.NET貌似都是访问数据库的东东,那么他们之间有什么区别,又有什么联系呢?不要着急,待我慢慢道来. 先说ODBC,官方的 ...

  7. 一文详解ODBC、OLEDB、ADO、ADO.NET之间的关系

    相信看到这篇文章的人,心中肯定有这样的想法:ODBC.OLEDB.ADO.ADO.NET貌似都是访问数据库的东东,那么他们之间有什么区别,又有什么联系呢?不要着急,待我慢慢道来. 一.ODBC ODB ...

  8. ADO与ADO.NET

    今天老板又提到了客户端游标与服务端游标,并给我们讲了性能差别.但是....我用了好久的.NET,都忘了很久很久以前曾经的ADO,原来老板是在讲ADO的游标类型.呜-回来翻了下网,找了以下的内容重新学习 ...

  9. 使用ADO或ADO控件访问数据库

    目录: 1.数据库的基础知识以及创建Access数据库 2.数据库的接口 3.使用ADO或ADO控件访问数据库 上篇文章,为大家讲解了数据库的接口,大家对ADO也有了较为基础的了解,这篇文章主要解决大 ...

最新文章

  1. Windows 7 操作系统核心文件
  2. mysql 5.6 gtid mha_MySQL MHA--故障切换模式(GTID模式和非GTID模式)
  3. python中 str.strip()用法
  4. Linux日志文件utmp、wtmp、lastlog、messages
  5. java找三个数最大_用Java程序找最大的数字(4)
  6. Vue 学习笔记(4)Vue-cli4 项目搭建 + 目录结构 + 项目打包、部署
  7. 洛谷——P2006 赵神牛的游戏
  8. 小峰servlet/jsp(2)
  9. python invalid character_python提示invalid character in identifier
  10. HTML与JSP页面的区别
  11. 2k显示无法连接服务器,NBA2K18无法连接服务器怎么办 无法连接服务区解决方法一览...
  12. 《遥感原理与应用》总结—遥感平台
  13. 自动控制原理学习笔记(五)
  14. ElasticSearch分词近义词
  15. 2013应届毕业生“艺龙旅行网”校招应聘总结
  16. 泛函分析极简笔记(2)——Mahalanobis distance
  17. ARM汇编:数据处理指令集:MOV、ADD、ADDS、ADC、SUB、SUBS、SBC、RSB、MUL、AND、ORR、EOR、BIC、CMP、TST、TEQ、LSL、LSR、ASR、RORV
  18. 认知仿真:是复杂系统建模的新途径吗
  19. RabbitMQ的分发机制
  20. Excel 2010光标移动到单元格边框时,不显示小十字(亲自实践)

热门文章

  1. 基于岭回归的数据增强与深度学习模型
  2. md5校验 java_Java MD5校验
  3. GB50396出入口控制系统工程设计规范
  4. Android常见的Theme主题
  5. 远东传动收购机器人_一只机械新晋公司被盯上,复制艾迪规模短期翻番,又收购国内机器人减速机唯一供应商...
  6. eclipse可以写前端吗_php可以做前端吗
  7. python操作word文档-python操作word
  8. Windows实例搭建FTP站点
  9. Ubuntu通过邮件自动发送IP地址
  10. mysql tinyint 与char_mysql tinyint和char(1)性能对比