ADO 和 ADO.NET的區別

來源:互聯網
上載者:User

大家都在說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根據不同的資料來源提供了不同類集,使代碼維護和調試更加專業.

 

唉 , 好累啊.終於寫完了…

一晚上寫了兩篇,好累好累啊…

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.