SqlDataSource.Select(DataSourceSelectArguments) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Извлекает данные из базовой базы данных с помощью SelectCommand строки SQL и всех параметров, которые находятся в SelectParameters коллекции.
public:
System::Collections::IEnumerable ^ Select(System::Web::UI::DataSourceSelectArguments ^ arguments);
public System.Collections.IEnumerable Select(System.Web.UI.DataSourceSelectArguments arguments);
member this.Select : System.Web.UI.DataSourceSelectArguments -> System.Collections.IEnumerable
Public Function Select (arguments As DataSourceSelectArguments) As IEnumerable
Параметры
- arguments
- DataSourceSelectArguments
Объект DataSourceSelectArguments , используемый для запроса операций с данными за пределами базового извлечения данных.
Возвращаемое значение
IEnumerable Список строк данных.
Исключения
Объект SqlDataSource не может установить соединение с базовым источником данных.
Примеры
В следующих примерах показано, как программно вызывать Select метод и задавать значения на основе результата запроса. В следующем примере показан декларативный код для веб-элементов управления.
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Count(*) FROM [Products] WHERE ([ReorderLevel] > 0)">
</asp:SqlDataSource>
<asp:Label
ID="Label1"
runat="server"
Text="">
</asp:Label>
<br />
<asp:Button
ID="Button1"
Text="Check Reorder Status"
runat="server"
onclick="Button1_Click" />
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Count(*) FROM [Products] WHERE ([ReorderLevel] > 0)">
</asp:SqlDataSource>
<asp:Label
ID="Label1"
runat="server"
Text="">
</asp:Label>
<br />
<asp:Button
ID="Button1"
Text="Check Reorder Status"
runat="server"
onclick="Button1_Click" />
В следующем примере показано, как программно вызвать Select метод. Элемент SqlDataSource управления возвращает целое число. Значение целого числа используется для задания текста Label элемента управления и определения того, следует ли отображать HyperLink элемент управления.
protected void CheckReorderStatus()
{
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
int reorderedProducts = (int)dv.Table.Rows[0][0];
if (reorderedProducts > 0)
{
Label1.Text = "Number of products on reorder: " + reorderedProducts;
}
else
{
Label1.Text = "No products on reorder.";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
CheckReorderStatus();
}
Protected Sub CheckReorderStatus()
Dim dv As DataView
Dim reorderedProducts As Integer
dv = CType(SqlDataSource1.Select(DataSourceSelectArguments.Empty), DataView)
reorderedProducts = CType(dv.Table.Rows(0)(0), Integer)
If (reorderedProducts > 0) Then
Label1.Text = "Number of products on reorder: " & reorderedProducts
Else
Label1.Text = "No products on reorder."
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
CheckReorderStatus()
End Sub
Комментарии
Метод Select автоматически вызывается на PreRender этапе жизненного цикла страницы. Он вызывается элементами управления, привязанными к данным, которые были присоединены к элементу SqlDataSource управления через их DataSourceID свойство.
Метод возвращает объект, SelectDataView если DataSourceMode для свойства задано DataSet значение. Метод возвращает объект, SelectIDataReader если DataSourceMode для свойства задано DataReader значение. IDataReader Закройте объект после завершения чтения данных.
Select Перед выполнением OnSelecting операции вызывается метод для вызова Selecting события. Это событие можно обрабатывать для проверки значений параметров и выполнения любой обработки перед операцией Select .
Select После завершения OnSelected операции вызывается метод для вызова Selected события. Это событие можно обрабатывать для проверки любых возвращаемых значений и кодов ошибок, а также для выполнения любой последующей обработки.
DataSourceMode Если свойство задано SqlDataSourceMode.DataSet и кэширование включено, SqlDataSource объект извлекает данные из кэша и сохраняет данные в кэш во время Select операции. Кэш создается, удаляется или обновляется на основе поведения кэширования, указанного CacheDuration сочетанием свойств и CacheExpirationPolicy свойств.
Это важно
При использовании олицетворения клиента при проверке подлинности Microsoft Windows данные кэшируются, когда первый пользователь обращается к данным. Если другой пользователь запрашивает те же данные, данные извлекаются из кэша. Данные не извлекаются, вызывая другую базу данных, чтобы проверить доступ пользователя к данным. Если вы ожидаете, что несколько пользователей будут получать доступ к данным, и вы хотите, чтобы каждый извлечение данных проверялся конфигурациями безопасности для базы данных, не используйте кэширование.
DataSourceMode Если свойство задано SqlDataSourceMode.DataSet и FilterExpression свойство указано, выражение фильтра вычисляется с любыми предоставленными FilterParameters свойствами, а результирующий фильтр применяется к списку данных во время Select операции.
Метод Select делегирует Select методу объекта, связанного SqlDataSourceView с элементом SqlDataSource управления. Чтобы выполнить операцию извлечения данных, SqlDataSourceView объект создает DbCommand объект с помощью SelectCommand текста и любых связанных SelectParameters значений, а затем выполняется DbCommand в базовой базе данных.
Это важно
Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности. Filtering Используйте событие для проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".