SqlDataSource
控件的DataSourceMode属性决定所提取的数据要如何维护。
DataSourceMode
属性的默认值是DataSet,此表示从数据库提取而来的结果集会储存在服务器内存内的一个DataSet对象中,若是您使用SqlDataSource做为GridView等控件的数据来源,而且要在GridView控件中进行排序、筛选与分页等处理,则SqlDataSource的DataSourceMode属性必定要设定成DataSet。
然而在另一方面,若是SqlDataSource所提取的数据仅仅是要做为DropDownList与ListBox等控件的选项,而不须要进行排序、筛选与分页等处理,则SqlDataSource的DataSourceMode属性应该要设定成DataReader,如此才能下降资源的耗用。毕竟在这种时候使用数据集(DataSet)根本就是杀鸡用牛刀。
一旦您将DataSourceMode属性设定成DataReader,数据会经过一个IDataReader对象(亦即顺向且只读的数据指针)来提取,结果集将不会储存在服务器的内存中。
若是您对数据集模型与数据命令模型的特点与差别有清楚的认识,相信应该能够知道什么时候该使用DataSet,而什么时候又该使用DataReader。