#c# #sqldatasource
#c# #sqldatasource
Вопрос:
После прочтения https://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.sqldatasource.select(v=vs.110).aspx
Я немного смущен методом 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
для методов требуется 1 параметр типа DataSourceSelectArguments
. Это меня смущает, почему я должен передавать некоторые «Параметры выбора» в качестве аргумента, если я уже установил их путем вызова SelectParameter.Add(...)
? Как я могу правильно вызвать эту функцию?
Ответ №1:
DataSourceSelectArguments — это не то, что вы думали. В вашем случае вы можете просто передать DataSourceSelectArguments.Empty
.
Элементы управления с привязкой к данным используют класс DataSourceSelectArguments для запроса, чтобы элемент управления источником данных выполнял дополнительные операции, связанные с данными, над результирующим набором, такие как сортировка данных или возврат определенного подмножества данных. Эти операции, связанные с данными, перечисляются перечислением DataSourceCapabilities . В следующей таблице показано, как класс DataSourceSelectArguments поддерживает эти операции, связанные с данными.
Этот параметр может содержать информацию о применяемых фильтрах или столбце для упорядочения. Например, при работе с сортируемым представлением сетки сортировка столбца вызывает метод Select() и передает экземпляр DataSourceSelectArguments с его свойством SortExpression, установленным на имя столбца, по которому пользователь выбрал сортировку. Если вы не хотите, чтобы источник данных сортировался или фильтровался, вы передаете DataSourceSelectArguments .Пусто.