日期:2014-05-20  浏览次数:20956 次

ADO 和 ADO.NET 的区别.
大家都在说ADO 和 ADO.NET 那么这两者最主要的区别是神马呢?
我给大家解说一下(个人观点,仅供参考)

ADO.NET和ADO有两点主要的区别。
第一:ADO.NET是专门为两种不同的环境设计的,断开结果集和用来访问数据源的只读,前向的连接;
第二:在不考虑数据源的情况下,ADO.NET不会为程序员提供单一一致的对象模型,他使用.NET数据提供者实现的专用类,
与ADO相比,ADO.NET进行优化的一种情况是断开结果集,这个是由数据集(DataSet)实现的,并且完全具有可扩展性和可修改性,但不对数据源保持持久连接,在某些方面,DataSet与ADO断开结果集的方法有些类似,不过在使用DataSet时断开自动完成,而以前的程序员必须显示断开与数据源相互连接的记录集,并且关闭联机(此处是常常出错的地方)
在ADO.NET中,无论何时创建一个DataSet,他都将自动断开,事实上必须用DataAdapter作为数据提供者的中介,这种方法更有效,并且不易引发错误,而且可以有效的减少代码量,不需要指定任何信息,以为断开的都是静态的.
与ADO相比,ADO.NET进行优化的另一种情况是:要遍历结果集的每一条记录,一次访问一条数据,在这种情况下,不用数据作任何变更,只是需要考虑结果集,不必再指定游标或者锁,
在这里只需要向前的,只读的游标,所以没必要像ADO那样填写若干参数.
这些改变的实质是,ADO仅仅是用一个RecordSet对象来实现,来完成工作,而ADO.NET则是使用一些专门的用于这两种最常用的情况的类,这意味着,在开启或者实行一个命名的时候,许多模糊参数都可以忽略,而且可以确信我们得到的所需用的对象类型.
除此之外,ADO.NET为每一个数据提供者都实现了一组专有的类集.在ADO里面,可以不考虑访问的数据源而简单使用Connection和RecordSet对象,而ADO.NET根据不同的数据源提供了不同类集,使代码维护和调试更加专业.

唉 , 好累啊.终于写完了…





------解决方案--------------------
ado.net 更适合现在Web开发。。。。。。
------解决方案--------------------
必须推荐