SqlDataSource
控件的DataSourceMode屬性決定所提取的數據要如何維護。
DataSourceMode
屬性的默認值是DataSet,此表示從數據庫提取而來的結果集會儲存在服務器內存內的一個DataSet對象中,若是您使用SqlDataSource做爲GridView等控件的數據來源,而且要在GridView控件中進行排序、篩選與分頁等處理,則SqlDataSource的DataSourceMode屬性必定要設定成DataSet。
然而在另一方面,若是SqlDataSource所提取的數據僅僅是要做爲DropDownList與ListBox等控件的選項,而不須要進行排序、篩選與分頁等處理,則SqlDataSource的DataSourceMode屬性應該要設定成DataReader,如此才能下降資源的耗用。畢竟在這種時候使用數據集(DataSet)根本就是殺雞用牛刀。
一旦您將DataSourceMode屬性設定成DataReader,數據會經過一個IDataReader對象(亦即順向且只讀的數據指針)來提取,結果集將不會儲存在服務器的內存中。
若是您對數據集模型與數據命令模型的特點與差別有清楚的認識,相信應該能夠知道什麼時候該使用DataSet,而什麼時候又該使用DataReader。