Partage via


SqlDataSource.Select(DataSourceSelectArguments) Méthode

Définition

Récupère les données de la base de données sous-jacente à l’aide de la SelectCommand chaîne SQL et de tous les paramètres qui se trouvent dans la SelectParameters collection.

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

Paramètres

arguments
DataSourceSelectArguments

Objet DataSourceSelectArguments utilisé pour demander des opérations sur les données au-delà de la récupération de données de base.

Retours

Liste IEnumerable des lignes de données.

Exceptions

L’objet SqlDataSource ne peut pas établir de connexion avec la source de données sous-jacente.

Exemples

Les exemples suivants montrent comment appeler par programmation la Select méthode et définir des valeurs en fonction du résultat de la requête. L’exemple suivant montre le code déclaratif pour les contrôles 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" />

L’exemple suivant montre comment appeler la Select méthode par programmation. Le SqlDataSource contrôle retourne un entier. La valeur de l’entier est utilisée pour définir le texte d’un Label contrôle et déterminer s’il faut afficher un HyperLink contrôle.

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

Remarques

La Select méthode est automatiquement appelée pendant la PreRender phase du cycle de vie de la page. Elle est appelée par des contrôles liés aux données qui ont été attachés à un SqlDataSource contrôle via leur DataSourceID propriété.

La Select méthode retourne un DataView objet si la DataSourceMode propriété est définie sur la DataSet valeur. La Select méthode retourne un IDataReader objet si la DataSourceMode propriété est définie sur la DataReader valeur. Fermez l’objet IDataReader lorsque vous avez terminé de lire les données.

Avant l’exécution de l’opération Select , la OnSelecting méthode est appelée pour déclencher l’événement Selecting . Vous pouvez gérer cet événement pour examiner les valeurs des paramètres et effectuer tout traitement avant l’opération Select .

Une fois l’opération Select terminée, la OnSelected méthode est appelée pour déclencher l’événement Selected . Vous pouvez gérer cet événement pour examiner les valeurs de retour et les codes d’erreur et effectuer tout post-traitement.

Si la propriété est définie SqlDataSourceMode.DataSet sur et que la DataSourceMode mise en cache est activée, l’objet SqlDataSource récupère les données et enregistre les données dans le cache pendant l’opérationSelect. Le cache est créé, ignoré ou actualisé en fonction du comportement de mise en cache spécifié par la combinaison des propriétés et CacheExpirationPolicy des CacheDuration propriétés.

Important

Lorsque vous utilisez l’emprunt d’identité client sous l’authentification Microsoft Windows, les données sont mises en cache lorsque le premier utilisateur accède aux données. Si un autre utilisateur demande les mêmes données, les données sont récupérées à partir du cache. Les données ne sont pas récupérées en effectuant un autre appel à la base de données pour vérifier l’accès de l’utilisateur aux données. Si vous attendez que plusieurs utilisateurs accèdent aux données et que vous souhaitez que chaque récupération de données soit vérifiée par les configurations de sécurité de la base de données, n’utilisez pas la mise en cache.

Si la DataSourceMode propriété est définie SqlDataSourceMode.DataSet et qu’une FilterExpression propriété a été spécifiée, l’expression de filtre est évaluée avec toutes les propriétés fournies FilterParameters et le filtre résultant est appliqué à la liste des données pendant l’opération Select .

La Select méthode délègue à la Select méthode de l’objet SqlDataSourceView associé au SqlDataSource contrôle. Pour effectuer une opération de récupération de données, le build SqlDataSourceView d’un DbCommand objet à l’aide du SelectCommand texte et de toutes les valeurs associées SelectParameters , puis exécute la DbCommand base de données sous-jacente.

Important

Les valeurs sont insérées dans des paramètres sans validation, ce qui est une menace de sécurité potentielle. Utilisez l’événement Filtering pour valider les valeurs des paramètres avant d’exécuter la requête. Pour plus d’informations, consultez Vue d’ensemble des exploits de script.

S’applique à

Voir aussi