dataset和datareader的區別

2022-01-20 04:24:31 字數 847 閱讀 6314

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設定出來分頁排序等頁面面顯示效果。

Dataset 和 Dataloader資料載入

初學pytorch,一直分不清資料是如何載入的,分不清dataset 和 dataloader的聯絡。utils包含dataset和dataloader兩個類。自定義資料集需要繼承這個類,並實現兩個函式,乙個是 len 另乙個是 getitem 前者提供資料的大小,後者通過索引獲取資料和標籤。get...

datareader和dataset的區別

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

DataReader和DataSet的區別

1.datareader是資料管理提供者類,而dataset是一般性資料類。2.dataset獲取資料需要通過橋梁dataadapter的填充,由於datareader本身就是管理提供者,它可以通過command的executereader 方法就可以獲取資料。4.datareader只能正向讀取資...