大家都在說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根據不同的資料來源提供了不同類集,使代碼維護和調試更加專業.
唉 , 好累啊.終於寫完了…
一晚上寫了兩篇,好累好累啊…