日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ADO与ADO.NET 的区别

發(fā)布時間:2023/12/18 asp.net 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ADO与ADO.NET 的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前面也分別對ADO和ADO.NET進(jìn)行概述,從前面的兩篇文章來看,我們都知道ADO與ADO.NET 都是一種數(shù)據(jù)庫訪問的方式,都是從最基本的Connection(連接)對象開始的,可以說ADO.NET是ADO的一種改進(jìn)版,在ADO的基礎(chǔ)之上ADO.NET 統(tǒng)一了數(shù)據(jù)容器類編程接口,無論你打算用哪種編寫哪種應(yīng)用程序,都可以通過同一組類來處理數(shù)據(jù) 。

在ADO的基礎(chǔ)上,ADO.NET做了很多的改進(jìn),以下是它們區(qū)別:

1.對象不同:

ADO使用的是OLEDB接口并基于微軟的COM技術(shù),而ADO.NET有自己的ADO.NET接口并且基于微軟的.NET體系架構(gòu)。

2.存儲對象不同:

ADO以Recordset記錄集形式進(jìn)行存放,ADO.NET是以DateSet數(shù)據(jù)集形式進(jìn)行存放。記錄集看起來更像一個單表,如果要讓Recordset以多表的方式就必須在SQL中進(jìn)行多表連接,反之,數(shù)據(jù)集是一個或多個表的集合,它就相當(dāng)于是內(nèi)存中的一個數(shù)據(jù)庫,數(shù)據(jù)庫內(nèi)存放的是DataTable對象,也就是我們平時所說的表。

3.連接方式不同:

ADO在與數(shù)據(jù)庫連接后,會一直保持連接,直到斷開(為連接而設(shè)計)。而ADO.NET讀取完所需要數(shù)據(jù)之后,會自動斷開連接。當(dāng)需要更新數(shù)據(jù)時,會再次連接。也就是說ADO.NET讀取數(shù)據(jù)庫中的數(shù)據(jù)有兩種方式:一種是基于在線的連接方式,一種是基于離線的非連接方式。為什么會有這兩種方式呢?我想主要是由于ADO.NET 取消了以往的Recordset 對象,而采用DataSet的緣故吧。

Dataset,它相當(dāng)于是內(nèi)存中的一個數(shù)據(jù)庫,它是不依賴與數(shù)據(jù)庫的獨立數(shù)據(jù)集合,所謂獨立就是說,即使是斷開數(shù)據(jù)鏈路或者是關(guān)閉數(shù)據(jù)庫,它仍然是可以使用的。Dataset內(nèi)部是用XML(可擴(kuò)展標(biāo)記語言)來描述數(shù)據(jù)的。在訪問數(shù)據(jù)的時候,ADO.NET會利用XML制作數(shù)據(jù)的一份副本,也就是說只有在這段時間內(nèi)是需要在線的。而在ADO中,xml只不過是一種輸入和輸出格式。

此外:由于Dataset內(nèi)部是用XML(可擴(kuò)展標(biāo)記語言)格式來描述數(shù)據(jù)的,所以ADO.NET對數(shù)據(jù)類型沒有限制。而Com技術(shù)要求使用的數(shù)據(jù)類型必須是符合Com規(guī)范,所以ADO對數(shù)據(jù)類型有限制要求。

總結(jié)

以上是生活随笔為你收集整理的ADO与ADO.NET 的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。