了解ADO.NET數據繁瑣相關運作
雖然有許多人對ADO.NET數據的安全性表示懷疑,但在年復一年的不斷發展中,他的安全性也在不斷提高。保障ADO.NET數據的安全性是完全有可能的,但前提是要深入理解到底什么是ADO.NET數據,及他是怎么運作的。
Recordset和數據的提供者有關:有些數據提供者不支持一些recordset的方法和特性。相反,ADO.NET數據的不同方法例如查詢、排序、篩選和更新等等,都是獨立于數據提供者的。當新版本的ADO允許recordset被保存或轉換到XML以至于數據能被傳遞到應用程序里和越過防火墻,DataSet則不需要轉換就能完成相同的任務,因為DataSet在XML中被聲明過。
Recordset是非類型的,意思是它把每個數據作為variant變量來存儲。然而,ADO.NET數據是強類型的,ADO.NET數據把數據按照原來的類型存儲。強類型意味著更規范的編程方式和減少錯誤。
通過ADO的recordset來更新數據庫是繁瑣的、低效率的和低成功率的。舉個例子,如果有五十個記錄要被更新,還有一個記錄不能被更新,數據庫將拒絕整個recordset。這個問題在DataSet中就不存在,因為DataSet能通過它的rowerror特性來一行一行的捕捉錯誤。除了數據,DataSet也能被增加或修改其關系、列、表和類似對象,而且不需要多重的數據庫連接。
***,在recordset中,通常用循環的辦法來取出數據。在DataSet中,數據視圖被創建并綁定到服務器控件上,因此,ADO.NET數據可以不需要混合表示和數據存取代碼就能表示數據。這是很簡潔的編程方式。#t#
總之,DataSet和recordset是完全不相同的。ADO.NET數據可以理解為是一種升級的recordset。在沒有對ADO.NET的DataSet和ADO的recordset進行性能上的測試和比較時,綜上所述,DataSet應該是比較有效的。
導讀:在ADO中我們最常使用的對象就Recordset了,而在ADO.NET數據中又增加了一個對象DataSet。本文簡要的對比了DateSet和Recordset的異同,這對ADO.NET的初學者非常有幫助!