DataReader和DataSet的區別

2021-10-01 04:30:54 字數 506 閱讀 5135

1. 獲取資料的方式

sqlconnection連線,在其獲得資料過程中其它操作不可以再使用sqlconnection連線物件。

dataset為離線運算元據,dataset會將資料一次性讀入記憶體,然後斷開連線,這時其它操作就可以使用sqlconnection連線物件。

由於datareader一次只讀取一行資料,所以占用記憶體較小。但datareader為只進且唯讀的,也就是只能單方向向前讀取,如果你想回頭去讀取上一條資料是不允許的,並且不允許其修改資料。

由於dataset一次性讀取所有資料,所以比較消耗資源,但也提高了靈活性,在斷開資料庫連線情況下你可以對資料進行任何增刪改查,按照任意的順序讀取資料,並可以將其寫回到資料庫。

有一點需要注意,datareader一次讀取一行並不意味了著這時在資料庫中的資料被修改,可以讀到新的資料,這是資料庫層面的保護

2.獲取資料的機制

3.其它區別

抉擇 是用DataReader還是DataSet

ado.net提供了兩個主要的類來讀取資料。通過本文我們可以學習如何在兩者之間進行選擇。我 經常聽到有人問這個問題 在asp.net web應用程式中我應該用datareader類還是dataset類呢?在很多文章以及新聞組的貼子中 我經常看到這樣的誤解,即認為datareader sqldatar...

DataTable和DataReader的遍歷

1 datatable的遍歷 建立資料表 datatable dt getdatatable select from student 儲存資料 stringbuilder sb new stringbuilder 迴圈遍歷 逐行遍歷 foreach datarow row in dt.rows 獲取...

datareader和dataset的區別

dataset是乙個記憶體資料庫,你取資料的時候可以把資料放進去,資料取完就可以斷開連線了,這樣你就可以在dataset中去取資料,和資料庫就無關了。這樣非常方便,但有個問題,你把資料放記憶體裡,是要占用記憶體空間的,如果這個dataset中放了很多資料的話,效率就有問題了,你在乙個大的datase...