C# SqlDatasource:Select()上的参数

C# SqlDatasource:Select()上的参数,c#,sqldatasource,C#,Sqldatasource,读后 我对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("iddepartmen

读后

我对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();
IEnumerable myData=sql.Select();
但是,根据MSDN文档,
Select
方法需要1个类型为
DataSourceSelectArguments
的参数。这让我很困惑,如果我已经通过调用
SelectParameter.Add(…)
设置了一些“选择参数”,为什么我必须将它们作为参数传递?如何正确调用此函数?

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

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

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