SqlDatasource:Select()上的参数

时间:2016-10-10 07:31:26

标签: c# sqldatasource

阅读https://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.sqldatasource.select(v=vs.110).aspx

我对SqlDatasource的Select()方法有点困惑。用一个例子很容易解释。我们来考虑一下这个测试代码:

//sql is a SqlDatasource, let's get out the question the initialization.
sql.SelectCommand= "select * from employees where iddepartment = @iddeparment";
sql.SelectParameters.Add("iddepartment ", DbType.Int, "1");

此时,我需要检索数据,所以我尝试做类似的事情:

IEnumerable<object> myData = sql.Select();

但是根据MSDN文档,Select方法需要1个DataSourceSelectArguments类型的参数。这让我很困惑,为什么我要传递一些&#34;选择参数&#34;如果我已经通过调用SelectParameter.Add(...)设置它们作为参数?如何才能正确调用此功能?

1 个答案:

答案 0 :(得分:2)

DataSourceSelectArguments不是你想象的那样。对于您的情况,您只需传递DataSourceSelectArguments.Empty即可。

  

数据绑定控件使用DataSourceSelectArguments类进行请求   数据源控件执行其他与数据相关的操作   在结果集上,例如对数据进行排序或返回特定的数据   数据子集。这些与数据相关的操作由枚举   DataSourceCapabilities枚举。下表说明了如何操作   DataSourceSelectArguments类支持这些与数据相关的   操作

此参数可以包含有关要应用的过滤器或要排序的列的信息。例如,在使用可排序的GridView时,对列进行排序会调用Select()方法,并传入DataSourceSelectArguments实例,并将其SortExpression属性设置为用户选择排序的列名。如果您不希望对DataSource进行排序或筛选,则传入DataSourceSelectArguments.Empty。