ADO.NET (二)—— ADO和ADO .NET对照
本
对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格式对数据类型没有限制,不须要类 型转换;
小结:
进行对照之后,自己的思路更加的清晰明了。可是很多其它的还是要到实践中去掌握和了解。