摘要: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...
章立民研究室 2