ado.net2.0提供了兩個用於檢索關係資料的物件:dataset和datareader。並且這兩個物件都可以將檢索的關係資料儲存在記憶體中。在軟體開發過程中經常用到這兩個控制元件,由於這兩個控制元件在使用和功能方面的相似,很多程式設計師錯誤地認為dataset和datareader是可以相互替代的。
這種想法是錯誤的,在這我們分析一下dataset控制元件和datareader控制元件的區別。
■ 與資料庫連線datset 連線資料庫時是非面向連線的。把表全部讀到sql中的緩衝池,並斷開於資料庫的連線。
datareader 連線資料庫時是面向連線的。讀表時,只能向前讀取,讀完資料後有使用者決定是否斷開連線。
■ 處理資料速度
dataset讀取、處理速度較慢。
datareader讀取、處理速度較快。
■ 更新資料庫
在對dataset資料集中的資料進行更新後,可以把資料更新回原來的資料庫。
在對datareader中的資料進行更新後,沒有辦法進行資料庫更新。
■ 支援分頁排序
在dataset中支援分頁、動態排序等操作。
在datareader中沒有分頁、動態排序的功能。
■ 佔用記憶體
dataset在 iis 伺服器上所使用的記憶體較多。
datareader在 iis 伺服器上所使用的記憶體較少。
綜上所述得出dataset和datareader有各自適用的場合。
如果資料**控制元件只是用來填入控制元件的清單成為其選項,或者資料繫結控制元件並不需要提供排序或分頁功能的話,則應該使用 datareader。
反之,如果資料繫結控制元件需要提供排序或分頁功能的話,則必須使用 dataset,通過dataset設定出來分頁排序等頁面面顯示效果。
DataReader和DataSet
我經常聽到有人問這個問題 在asp.net web應用程式中我應該用datareader類還是dataset類呢?在很多文章以及新聞組的貼子中我經常看到這樣的誤解,即認為datareader sqldatareader或oledbdatareader的縮寫 比dataset好。有時候我也會看到相反的...
DataSet和DataReader的區別
ado.net2.0提供了兩個用於檢索關係資料的物件 dataset和datareader。並且這兩個物件都可以將檢索的關係資料儲存在記憶體中。在軟體開發過程中經常用到這兩個控制元件,由於這兩個控制元件在使用和功能方面的相似,很多程式設計師錯誤地認為dataset和datareader是可以相互替代...
SqlDataRead和Dataset的區別
申明 菜鳥的這些文字也是 別人的,僅以方便大家查閱和自己需要時檢視.sqldataread和dataset的選擇 sqldataread優點 讀取資料非常快。如果對返回的資料不需做大量處理的情況下,建議使用sqldatareader,其效能要比datset好很多。缺點 直到資料讀完才可close掉於...