ASP.NET 2.0 – 善用DataSourceMode屬性
SqlDataSource控件的DataSourceMode屬性決定所提取的數據要如何維護。
DataSourceMode屬性的默認值是DataSet,此表示從數據庫提取而來(lái)的結果集會(huì )儲存在服務(wù)器內存內的一個(gè)DataSet對象中,如果您使用SqlDataSource作為GridView等控件的數據來(lái)源,并且要在GridView控件中進(jìn)行排序、篩選與分頁(yè)等處理,則SqlDataSource的DataSourceMode屬性一定要設定成DataSet。
然而在另外一方面,如果SqlDataSource所提取的數據僅僅是要作為DropDownList與ListBox等控件的選項,而不需要進(jìn)行排序、篩選與分頁(yè)等處理,則SqlDataSource的DataSourceMode屬性應該要設定成DataReader,如此才能降低資源的耗用。畢竟在這種時(shí)候使用數據集(DataSet)根本就是殺雞用牛刀。
一旦您將DataSourceMode屬性設定成DataReader,數據會(huì )通過(guò)一個(gè)IDataReader對象(亦即順向且只讀的數據指針)來(lái)提取,結果集將不會(huì )儲存在服務(wù)器的內存中。
如果您對數據集模型與數據命令模型的特色與差異有清楚的認識,相信應該可以知道何時(shí)該使用DataSet,而何時(shí)又該使用DataReader。

