ADO与ADO.NET 的区别
前面也分別對ADO和ADO.NET進行概述,從前面的兩篇文章來看,我們都知道ADO與ADO.NET 都是一種數據庫訪問的方式,都是從最基本的Connection(連接)對象開始的,可以說ADO.NET是ADO的一種改進版,在ADO的基礎之上ADO.NET 統一了數據容器類編程接口,無論你打算用哪種編寫哪種應用程序,都可以通過同一組類來處理數據 。
在ADO的基礎上,ADO.NET做了很多的改進,以下是它們區別:
1.對象不同:
ADO使用的是OLEDB接口并基于微軟的COM技術,而ADO.NET有自己的ADO.NET接口并且基于微軟的.NET體系架構。
2.存儲對象不同:
ADO以Recordset記錄集形式進行存放,ADO.NET是以DateSet數據集形式進行存放。記錄集看起來更像一個單表,如果要讓Recordset以多表的方式就必須在SQL中進行多表連接,反之,數據集是一個或多個表的集合,它就相當于是內存中的一個數據庫,數據庫內存放的是DataTable對象,也就是我們平時所說的表。
3.連接方式不同:
ADO在與數據庫連接后,會一直保持連接,直到斷開(為連接而設計)。而ADO.NET讀取完所需要數據之后,會自動斷開連接。當需要更新數據時,會再次連接。也就是說ADO.NET讀取數據庫中的數據有兩種方式:一種是基于在線的連接方式,一種是基于離線的非連接方式。為什么會有這兩種方式呢?我想主要是由于ADO.NET 取消了以往的Recordset 對象,而采用DataSet的緣故吧。
Dataset,它相當于是內存中的一個數據庫,它是不依賴與數據庫的獨立數據集合,所謂獨立就是說,即使是斷開數據鏈路或者是關閉數據庫,它仍然是可以使用的。Dataset內部是用XML(可擴展標記語言)來描述數據的。在訪問數據的時候,ADO.NET會利用XML制作數據的一份副本,也就是說只有在這段時間內是需要在線的。而在ADO中,xml只不過是一種輸入和輸出格式。
此外:由于Dataset內部是用XML(可擴展標記語言)格式來描述數據的,所以ADO.NET對數據類型沒有限制。而Com技術要求使用的數據類型必須是符合Com規范,所以ADO對數據類型有限制要求。
總結
以上是生活随笔為你收集整理的ADO与ADO.NET 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宠物合成养成游戏养猫养牛流量主小程序开发
- 下一篇: ADO与ADO.NET的区别