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 SelectCommand cadeia de caracteres SQL e todos os parâmetros que estão na SelectParameters coleção.
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 DataSourceSelectArguments objeto usado para solicitar operações nos dados além da recuperação básica de dados.
Retornos
Uma IEnumerable lista de linhas de dados.
Exceções
O SqlDataSource objeto 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 o Select método programaticamente. O SqlDataSource controle retorna um inteiro. O valor do inteiro é usado para definir o texto de um Label controle e determinar se um HyperLink controle deve ser exibido.
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 estiver definida como o DataSet valor. O Select método retornará um IDataReader objeto se a DataSourceMode propriedade estiver 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 acionar o Selecting evento. Você pode lidar com 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 acionar o Selected evento. Você pode lidar com esse evento para examinar quaisquer valores retornados e códigos de erro e executar qualquer pós-processamento.
Se a DataSourceMode propriedade estiver definida SqlDataSourceMode.DataSet e o cache estiver habilitado, o SqlDataSource objeto recuperará dados 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 propriedades e do CacheDuration cache 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 para o 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 o cache.
Se a DataSourceMode propriedade estiver definida SqlDataSourceMode.DataSet 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, ele SqlDataSourceView cria um DbCommand objeto usando o SelectCommand texto e quaisquer valores associados SelectParameters e, em seguida, executa o DbCommand 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 das Explorações de Script.