ADO.NET (二)—— ADO和ADO .NET对照
ADO.NET (二)—— ADO和ADO .NET对照
本
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
对ADO和ADO.NET的具体比較:
1、可伸缩性:
a) ADO:由于在ADO中,默认情况下是使用连接的Recordset对象、数据库锁定
和活动数据库连接,以长时间地争夺有限的数据库资源。
b) ADO.NET:对数据库数据进行断开连接的訪问。无需进行长时间地维护数据库锁定
或者有效数据库连接,没有对有限的数据库资源的争夺。
2、 可编程性:
a) ADO:全部Recordset字段数据类型都是COM Variant数据类型,并通常和数据
库表中的字段名相相应。
b) ADO.NET:使用XML的强类型化的编程特征。数据是自我描写叙述的,由于代码项
名相应于代码所处理的真实问题。DataSet和DataReader对象中的数据是强类型化的,使
代码更easy阅读和编写;
3、断接訪问:
a) ADO:由Recordset提供,但必须显式编码。对于Recordset对象,在默认情况
下是通过调用OLE DB提供程序来和数据库通信;
b) ADO.NET:对DataAdapter对象使用标准化的调用,来和数据库通信。该对象可
以和OLE DB数据提供程序或直接与SQL
Sever数据提供程序通信;
4、表之间的关系:
a) ADO:须要对单个结果表中的多个数据库表使用JOIN查询来组装数据,并提供
层次结构记录集,只是它们非常难使用;
b) ADO.NET:支持DataRelation对象。将一个DataTable对象中的行和还有一
个DataTable对象中的行关联起来。
5、驻留留内存数据表达方式:
1) ADO:使用Recordset对象保存单行数据,非常像数据库表;
2) ADO.NET:使用DataSet对象,该对象能够包括由DataTable对象表示的一个或多个表;
6、 数据导航:
a) ADO:使用.MoveNext方法顺序遍历Recordset中的行;
b) ADO.NET:DataSet使用导航范例对一个表中的行进行无序訪问。
对该数据的
訪问类似于訪问集合或数组中的数据。这对于DataTable的Rows集合来说是可能的。它允
许通过索引来訪问行。依照关系从一个表中的行导航到还有一个表中的对应行;
7. 通过防火墙发送数据:
a) ADO:这对于ADO来说。比較成问题,由于防火墙通经常使用于防止系统级请
求。如COM编组;
b) ADO.NET:ADO.NET支持这一功能,由于ADO.NET的DataSet对象使
用XML,XML能够通过防火墙。
8、 共享各层间或组件间的断开连接数据:
a) ADO:使用COM编组以发送断开连接的数据集,它仅仅支持由COM标准定义的
数据类型。
须要进行类型转换,这要求使用系统资源;
b) ADO.NET:以XML格式发送DataSet。XML格式对数据类型没有限制,不须要类
型转换;
小结:
进行对照之后,自己的思路更加的清晰明了。可是很多其它的还是要到实践中去掌握和了解。
ADO.NET (二)—— ADO和ADO .NET对照的更多相关文章
- GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3
GitHub: https://github.com/iccb1013/sheng.ADO.NET.Plus 早前分享过,当时没有把代码上传到Github,只是通过邮件的形式分享给了部分需要的朋友,最 ...
- 我与ADO.NET二三事(2)
继上篇开始,这里主要再次精简.因为大家已经熟悉了主要思想以及它的工作方式.那么这里提供的案例改动会很大.上篇的DatabaseCommand***均是为了大家能够轻松的理解所临时编写的.这次提供的接口 ...
- 我与ADO.NET二三事
天气渐冷,闲来无事就把业余时间自己使用的数据访问库凉一凉.这个库本人自己使用了2年多,主要用于个人学习时需要操作数据库时使用,非组织和商业性质的使用.记得上学的时候,在网络上看到SqlServer ...
- ADO.NET 二(Connection)
C# 语言中 Connection 类是 ADO.NET 组件连接数据库时第一个要使用的类,也是通过编程访问数据库的第一步. 接下来了解一下 Connection 类中的常用属性和方法,以及如何连接 ...
- ADO.NET(二)
对Command的拓展延伸 执行SQL语句. Command 对象需要取得将要执行的SQL语句,通过调用该类的多种方法,向数据库提交SQL语句. ExecuteNonQuery(),ExecuteR ...
- 使用C#进行数据库增删改查ADO.NET(二)
这节接着讲用C#进行数据库CRUD,高级部分. 事务: 事务是执行一批sql语句,如果中途失败,全部回滚,数据不会受影响,中途没有出错则会提交事务,真正对数据进行修改.C#提供了SqlTransac ...
- ADO.NET基础01(ADO.NET组成,数据库的方式,SqlCommand,SqlDataReader)
什么是ADO.NET: ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类操作文件一样, System.Data.这组类是用来操作数据库(不光是MSS ...
- 菜鸟学习Ado.net笔记一:Ado.net学习之SqlHelper类
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...
- Delphi 原生ADO(二)
我发现很多朋友在开发数据库时都使用 Delphi 自带的 ADO 组 件 或 Diamond ADO,其实在 Delphi 中使用原生 ADO 接口也是十分方便和有效的.我使用原生 ADO 开发项目已 ...
随机推荐
- 【C/C++学院】0724-堆栈简单介绍/静态区/内存完毕篇/多线程
[送给在路上的程序猿] 对于一个开发人员而言,可以胜任系统中随意一个模块的开发是其核心价值的体现. 对于一个架构师而言,掌握各种语言的优势并能够运用到系统中.由此简化系统的开发.是其架构生涯的第一步. ...
- NYOJ 145 聪明的小珂
/* 题目大意:求解和输入数的互质的数 解题思路:求解和 n 互质的最大数.从n/2開始找 关键点:GCD函数的使用 解题人:lingnichong 解题时间:2014-10-04 16:11:55 ...
- 彻底禁用resource manager
禁用resource manager 由于发现系统的一个等待事件:resmgr:cpu quantum.这是由于resource manager的原因.看来resource manager 的bug还 ...
- 初识cocos2dx——入门第一篇
享受"啪"的按下Enter的快感. (by云风) cocos2dx是不是个toy引擎,不同的人有不同的看法.可是你不得不承认它非常受欢迎.好多非常火的手游使用的就是cocos2dx ...
- xargs用例一个
ls -a *.doc|awk -F. '{print $1}' |xargs -I {} java -jar ~/soft/jodconverter-2.2.2/lib/jodconverter-c ...
- Caffe_Example之训练mnist
0.参考文献 [1]caffe官网<Training LeNet on MNIST with Caffe>; [2]薛开宇<读书笔记4学习搭建自己的网络MNIST在caffe上进行训 ...
- 移动端 | Vue.js对比微信小程序基础语法
(1)vue 自定义组件与父组件的通信,props:[abb],可以看成自组建的一个自定义属性 (2)vue 模版语法{{}} 只能是在DOM中插入,<div>{{acc}}</di ...
- 使用DWR实现JS调用服务端Java代码
DWR简介 DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用 ...
- Lucene倒排索引结构及关系
- codeforces 277 A Learning Languages 【DFS 】
n个人,每个人会一些语言,两个人只要有会一门相同的语言就可以交流,问为了让这n个人都交流,至少还得学多少门语言 先根据n个人之间他们会的语言,建边 再dfs找出有多少个联通块ans,再加ans-1条边 ...