ASP.NET 2.0 – 善用 DataSourceMode 屬性

摘要:ASP.NET 2.0 – 善用 DataSourceMode 屬性

SqlDataSource 控制項的 DataSourceMode 屬性決定所提取的資料要如何維護。 

DataSourceMode 屬性的預設值是 DataSet,此表示從資料庫提取而來的結果集會儲存在伺服器記憶體內的一個 DataSet 物件中,如果您使用 SqlDataSource 作為 GridView 等控制項的資料來源,並且要在 GridView 控制項中進行排序、篩選與分頁等處理,則 SqlDataSource DataSourceMode 屬性一定要設定成 DataSet 

然而在另外一方面,如果 SqlDataSource 所提取的資料僅僅是要作為 DropDownList ListBox 等控制項的選項,而不需要進行排序、篩選與分頁等處理,則 SqlDataSource DataSourceMode 屬性應該要設定成 DataReader,如此才能降低資源的耗用。畢竟在這種時候使用資料集(DataSet)根本就是殺雞用牛刀。 

一旦您將 DataSourceMode 屬性設定成 DataReader,資料會透過一個 IDataReader物件(亦即順向且唯讀的資料指標)來提取, 結果集將不會儲存在伺服器的記憶體中。 

如果您對資料集模型與資料命令模型的特色與差異有清楚的認識,相信應該可以知道何時該使用 DataSet,而何時又該使用 DataReader

 

雖然今天是 Blue Monday,還是祝福大家有個愉快的工作天。See u...

章立民研究室 20006/12/18