Partager via


SqlDataSource.SelectCommand Propriété

Définition

Obtient ou définit la chaîne SQL utilisée par le SqlDataSource contrôle pour récupérer des données de la base de données sous-jacente.

public:
 property System::String ^ SelectCommand { System::String ^ get(); void set(System::String ^ value); };
public string SelectCommand { get; set; }
member this.SelectCommand : string with get, set
Public Property SelectCommand As String

Valeur de propriété

Chaîne SQL ou nom d’une procédure stockée utilisée SqlDataSource pour récupérer des données.

Exemples

Cette section contient deux exemples de code. Le premier exemple de code montre comment définir le SelectCommand texte sur une requête SQL de base pour récupérer des données à partir d’une base de données compatible ODBC et l’afficher dans un GridView contrôle. Le deuxième exemple de code montre comment définir le SelectCommand texte sur le nom d’une procédure stockée et la propriété sur la SelectCommandTypeStoredProcedure valeur pour récupérer des données d’une base de données Microsoft SQL Server et l’afficher dans un DropDownList contrôle.

Dans les deux exemples, il n’est pas nécessaire d’appeler explicitement la Select méthode, car les contrôles liés aux données attachés au contrôle de source de données via la DataSourceID propriété appellent automatiquement la Select méthode pendant la PreRender phase.

L’exemple de code suivant montre comment définir le SelectCommand texte sur une requête SQL de base pour récupérer des données à partir d’une base de données compatible ODBC et l’afficher dans un GridView contrôle.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <!-- This example uses a Northwind database that is hosted by an ODBC-compliant
         database. To run this sample, create an ODBC DSN to any database that hosts
         the Northwind database, including Microsoft SQL Server or Microsoft Access,
         change the name of the DSN in the ConnectionString, and view the page.
    -->

    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ProviderName="System.Data.Odbc"
          DataSourceMode="DataSet"
          ConnectionString="dsn=myodbc3dsn;"
          SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <!-- This example uses a Northwind database that is hosted by an ODBC-compliant
         database. To run this sample, create an ODBC DSN to any database that hosts
         the Northwind database, including Microsoft SQL Server or Microsoft Access,
         change the name of the DSN in the ConnectionString, and view the page.
    -->
    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ProviderName="System.Data.Odbc"
          DataSourceMode="DataSet"
          ConnectionString="dsn=myodbc3dsn;"
          SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>

L’exemple de code suivant montre comment définir le SelectCommand texte sur le nom d’une procédure stockée et la propriété sur la SelectCommandTypeStoredProcedure valeur pour récupérer des données à partir d’une base de données SQL Server et l’afficher dans un DropDownList contrôle. La SelectCommand propriété peut être une requête SQL ou le nom d’une procédure stockée, si la source de données prend en charge les procédures stockées.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                DataTextField="LastName"
                DataSourceID="SqlDataSource1" />

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommandType="StoredProcedure"                
                SelectCommand="sp_lastnames">
            </asp:SqlDataSource>

            <!--
                The sp_lastnames stored procedure is
                CREATE PROCEDURE sp_lastnames AS
                   SELECT LastName FROM Employees
                GO
            -->

        </form>
    </body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                DataTextField="LastName"
                DataSourceID="SqlDataSource1" />

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommandType = "StoredProcedure"
                SelectCommand="sp_lastnames">
            </asp:SqlDataSource>

            <!--
                The sp_lastnames stored procedure is
                CREATE PROCEDURE sp_lastnames AS
                   SELECT LastName FROM Employees
                GO
            -->

        </form>
    </body>
</html>

Remarques

La SelectCommand propriété représente une requête SQL ou le nom d’une procédure stockée et est utilisée par la Select méthode pour récupérer des données à partir d’une base de données SQL Server. Si vous utilisez un astérisque (*) dans la commande Select pour sélectionner toutes les colonnes et si vous utilisez la génération de code automatique pour effectuer des opérations de mise à jour ou de suppression, assurez-vous qu’aucune colonne n’a d’espaces dans leur nom.

Étant donné que différents produits de base de données utilisent différentes variétés de SQL, la syntaxe de la chaîne SQL dépend du fournisseur de ADO.NET actuel utilisé, qui est identifié par la ProviderName propriété. Si la chaîne SQL est une requête ou une commande paramétrable, l’espace réservé du paramètre dépend également du fournisseur ADO.NET utilisé. Par exemple, si le fournisseur est le System.Data.SqlClientfournisseur , qui est le fournisseur par défaut pour la SqlDataSource classe, l’espace réservé du paramètre est '@parameterName'. Toutefois, si le fournisseur est défini sur le System.Data.OdbcSystem.Data.OleDbou , l’espace réservé du paramètre est '?'. Pour plus d’informations sur les requêtes et commandes SQL paramétrables, consultez Utilisation de paramètres avec le contrôle SqlDataSource.

La SelectCommand propriété peut être une chaîne SQL ou le nom d’une procédure stockée, si la source de données prend en charge les procédures stockées.

La SelectCommand propriété délègue à la SelectCommand propriété de l’objet SqlDataSourceView associé au SqlDataSource contrôle.

Important

À des fins de sécurité, la SelectCommand propriété n’est pas stockée est l’état d’affichage. Étant donné qu’il est possible de décoder le contenu de l’état d’affichage sur le client, le stockage d’informations sensibles sur la structure de base de données dans l’état d’affichage peut entraîner une vulnérabilité de divulgation d’informations.

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