進行ADO.NET對象操作步驟
ADO.NET對象對于速度是很好用的,如果你要修改操作技巧,更好的辦法是使用DataSet,.Net平臺程序是ADO.NET對象的常用的類,下面就進行詳細說明ADO.NET對象使用問題。
所以DataSet類在ADO.NET中具有特殊的地位,是因為DataSet在ADO.NET實現(xiàn)從數(shù)據(jù)庫抽取數(shù)據(jù)中起到關(guān)鍵作用,在從數(shù)據(jù)庫完成數(shù)據(jù)抽取后,DataSet就是數(shù)據(jù)的存放地,它是各種數(shù)據(jù)源中的數(shù)據(jù)在計算機內(nèi)存中映射成的緩存,所以有時說DataSet可以看成是一個數(shù)據(jù)容器。同時它在客戶端實現(xiàn)讀取、更新數(shù)據(jù)庫等過程中起到了中間部件的作用(DataReader只能檢索數(shù)據(jù)庫中的數(shù)據(jù))。
各種.Net平臺開發(fā)語言開發(fā)數(shù)據(jù)庫應(yīng)用程序,一般并不直接對數(shù)據(jù)庫操作(直接在程序中調(diào)用存儲過程等除外),而是先完成數(shù)據(jù)連接和通過數(shù)據(jù)適配器填充DataSet對象,然后客戶端再通過讀取DataSet來獲得需要的數(shù)據(jù),同樣更新數(shù)據(jù)庫中數(shù)據(jù),也是首先更新ADO.NET對象,然后再通過DataSet來更新數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)的。可見了解、掌握ADO.NET,首先必須了解、掌握DataSet。DataSet主要有三個特性:
1. 獨立性。DataSet獨立于各種數(shù)據(jù)源。微軟公司在推出DataSet時就考慮到各種數(shù)據(jù)源的多樣性、復(fù)雜性。在.Net中,無論什么類型數(shù)據(jù)源,它都會提供一致的關(guān)系編程模型,而這就是DataSet。
2. 離線(斷開)和連接。ADO.NET對象既可以以離線方式,也可以以實時連接來操作數(shù)據(jù)庫中的數(shù)據(jù)。這一點有點像ADO中的RecordSet。
3. DataSet對象是一個可以用XML形式表示的數(shù)據(jù)視圖,是一種數(shù)據(jù)關(guān)系視圖。
一.DataSet對象的結(jié)構(gòu)模型及和RecordSet的比較#t#
雖說ADO.NET是 ADO在.Net平臺下得后繼版本,但二者的區(qū)別是很大的。突出表現(xiàn)在ADO中的RecordSet對象和ADO.NET中的DataSet對象。RecordSet其實也是非常靈活的一個對象,微軟公司推出它也是煞費苦心,如:RecordSet可以離線操作數(shù)據(jù)庫,性能優(yōu)良,效率較高等等這些都讓當(dāng)時的程序員為之一振。
RecordSet雖然已經(jīng)很復(fù)雜,但ADO.NET對象卻比RecordSet復(fù)雜的多,我們知道每一DataSet往往是一個或多個DataTable 對象的集合,這些對象由數(shù)據(jù)行和數(shù)據(jù)列以及主鍵、外鍵、約束和有關(guān)DataTable對象中數(shù)據(jù)的關(guān)系信息組成。而RecordSet只能存放單張數(shù)據(jù)表,雖然這張數(shù)據(jù)表可以由幾張數(shù)據(jù)表JOIN生成。所以有些時候說,RecordSet更類似于DataSet中的DataTable。DataSet對象的結(jié)構(gòu)模型。