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