ADO.NET的DataSet和ADO的Recordset的比較

來源:互聯網
上載者:User
ado|比較 導 讀:在ADO中我們最常使用的對象就Recordset了,而在ADO.NET中又增加了一個對象DataSet。本文簡要的對比了DateSet和Recordset的異同,這對ADO.NET的初學者非常有協助!
--------------------------------------------------------------------------------
翻譯整理:.net技術網(www.51dotnet.com)郜飛
原文出處:http://www.database-applications.net/articles/dotnet4.html

Recordset是一個串連或斷開的(通過使用遊標)的記錄集合,它被定義成資料表。DataSet是一個斷開的記錄集合,它可以作為在記憶體中使用的資料集。

Recordset和資料的提供者有關:有些資料提供者不支援一些recordset的方法和特性。相反,DataSet的不同方法例如查詢、排序、篩選和更新等等,都是獨立於資料提供者的。

當新版本的ADO允許recordset被儲存或轉換到XML以至於資料能被傳遞到應用程式裡和越過防火牆,DataSet則不需要轉換就能完成相同的任務,因為DataSet在XML中被聲明過。

Recordset是非類型的,意思是它把每個資料作為variant變數來儲存。然而,DataSet是強型別的,它把資料按照原來的類型儲存。強型別意味著更規範的編程方式和減少錯誤。

通過ADO的recordset來更新資料庫是繁瑣的、低效率的和低成功率的。舉個例子,如果有五十個記錄要被更新,還有一個記錄不能被更新,資料庫將拒絕整個recordset。這個問題在DataSet中就不存在,因為DataSet能通過它的rowerror特性來一行一行的捕捉錯誤。除了資料,DataSet也能被增加或修改其關係、列、表和類似對象,而且不需要多重的資料庫連接。

最後,在recordset中,通常用迴圈的辦法來取出資料。在DataSet中,資料檢視被建立並綁定到伺服器控制項上,因此,可以不需要混合表示和資料存取代碼就能表示資料。這是很簡潔的編程方式。

總之,DataSet和recordset是完全不相同的。DataSet可以理解為是一種升級的recordset。在沒有對ADO.NET的DataSet和ADO的recordset進行效能上的測試和比較時,綜上所述,DataSet應該是比較有效。


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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