DataReader和DataSet的異同之處。

2022-11-27 02:57:43 字數 897 閱讀 3160

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掉於...