SqlDataSource.Select(DataSourceSelectArguments) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Recupera dados do banco de dados subjacente usando a cadeia de caracteres SQL SelectCommand e os parâmetros na coleção 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
Parâmetros
- arguments
- DataSourceSelectArguments
Um objeto DataSourceSelectArguments usado para solicitar operações nos dados além da recuperação de dados básica.
Retornos
Uma lista IEnumerable de linhas de dados.
Exceções
O objeto SqlDataSource não pode estabelecer uma conexão com a fonte de dados subjacente.
Exemplos
Os exemplos a seguir mostram como chamar programaticamente o Select método e definir valores com base no resultado da consulta. O exemplo a seguir mostra o código declarativo para os controles da Web.
<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" />
O exemplo a seguir mostra como chamar programaticamente o Select método . O SqlDataSource controle retorna um inteiro. O valor do inteiro é usado para definir o texto de um Label controle e determinar se deseja exibir um HyperLink controle.
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
Comentários
O Select método é chamado automaticamente durante a PreRender fase do ciclo de vida da página. Ele é chamado por controles associados a dados que foram anexados a um SqlDataSource controle por meio de sua DataSourceID propriedade.
O Select método retornará um DataView objeto se a DataSourceMode propriedade for definida como o DataSet valor . O Select método retornará um IDataReader objeto se a DataSourceMode propriedade for definida como o DataReader valor . Feche o IDataReader objeto quando terminar de ler os dados.
Antes que a Select operação seja executada, o OnSelecting método é chamado para gerar o Selecting evento. Você pode manipular esse evento para examinar os valores dos parâmetros e executar qualquer processamento antes da Select operação.
Após a conclusão da Select operação, o OnSelected método é chamado para gerar o Selected evento. Você pode manipular esse evento para examinar quaisquer valores retornados e códigos de erro e para executar qualquer pós-processamento.
Se a DataSourceMode propriedade estiver definida como SqlDataSourceMode.DataSet e o cache estiver habilitado, o SqlDataSource objeto recuperará dados de e salvará dados no cache durante a Select operação. O cache é criado, descartado ou atualizado com base no comportamento de cache especificado pela combinação das CacheDuration propriedades e CacheExpirationPolicy .
Importante
Quando você está usando a representação do cliente na autenticação do Microsoft Windows, os dados são armazenados em cache quando o primeiro usuário acessa os dados. Se outro usuário solicitar os mesmos dados, os dados serão recuperados do cache. Os dados não são recuperados fazendo outra chamada ao banco de dados para verificar o acesso do usuário aos dados. Se você espera que mais de um usuário acesse os dados e deseja que cada recuperação de dados seja verificada pelas configurações de segurança do banco de dados, não use cache.
Se a DataSourceMode propriedade for definida SqlDataSourceMode.DataSet como e uma FilterExpression propriedade tiver sido especificada, a expressão de filtro será avaliada com quaisquer propriedades fornecidas FilterParameters e o filtro resultante será aplicado à lista de dados durante a Select operação.
O Select método delega ao Select método do SqlDataSourceView objeto associado ao SqlDataSource controle . Para executar uma operação de recuperação de dados, o SqlDataSourceView cria um DbCommand objeto usando o SelectCommand texto e quaisquer valores associados SelectParameters e, em seguida, executa o DbCommand no banco de dados subjacente.
Importante
Os valores são inseridos em parâmetros sem validação, o que é uma possível ameaça à segurança. Use o Filtering evento para validar valores de parâmetro antes de executar a consulta. Para obter mais informações, consulte Visão geral de explorações de script.