2016-10-10 4 views
1

После прочтения https://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.sqldatasource.select(v=vs.110).aspxSqlDataSource: Параметры на Select()

Я немного запутался о методе Select() в SqlDataSource. Это легко объяснить на примере. Давайте рассмотрим этот тестовый код:

//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 методы requieres 1 параметр типа DataSourceSelectArguments. Это меня смущает. Почему мне нужно передать некоторые «Выбрать параметры» в качестве аргумента, если я уже установил их, вызвав SelectParameter.Add(...)? Как я могу правильно назвать эту функцию?

ответ

2

DataSourceSelectArguments не так, как вы думали. Для вашего случая вы можете просто пройти DataSourceSelectArguments.Empty.

с привязкой к данным управлений используют класс DataSourceSelectArguments для запроса , что элемент управления источником данных выполняет дополнительные операции, связанные с данными на наборе результатов, такие как сортировка данных или возврат конкретного подмножества данных. Эти операции, связанные с данными, перечисляются с помощью перечисления DataSourceCapabilities. В следующей таблице показано, как класс DataSourceSelectArguments поддерживает эти связанные с данными операции .

Этот параметр может содержать информацию, касающуюся применяемых фильтров, или столбца для заказа By. Например, при работе с сортируемым GridView сортировка столбца вызывает метод Select() и передает экземпляр DataSourceSelectArguments с его свойством SortExpression, установленным на имя столбца, которое пользователь выбрал для сортировки. Если вы не хотите, чтобы DataSource сортировал или фильтровал, вы проходите в DataSourceSelectArguments.Empty.