Exporter (0) Imprimer
Développer tout
1 sur 1 ont trouvé cela utile - Évaluez ce sujet

SqlDataSource, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Représente une base de données SQL pour les contrôles liés aux données.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public ref class SqlDataSource : public DataSourceControl
public class SqlDataSource extends DataSourceControl
public class SqlDataSource extends DataSourceControl

Le contrôle de source de données SqlDataSource représente des données dans une base de données relationnelle SQL pour les contrôles liés aux données. Vous pouvez utiliser le contrôle SqlDataSource conjointement à un contrôle lié aux données pour récupérer des données d'une base de données relationnelle et afficher, modifier et trier des données sur une page Web avec peu ou sans code.

Pour vous connecter à une base de données, vous devez affecter une chaîne de connexion valide à la propriété ConnectionString. SqlDataSource peut prendre en charge toute base de données relationnelle SQL à laquelle il est possible de se connecter grâce à un fournisseur ADO.NET, tel que SqlClient, OleDb, Odbc ou OracleClient. Pour plus d'informations sur la sécurisation des chaînes de connexion, consultez Comment : sécuriser des chaînes de connexion lors de l'utilisation de contrôles de source de données.

Pour récupérer des données d'une base de données sous-jacente, définissez la propriété SelectCommand avec une requête SQL. Si la base de données à laquelle SqlDataSource est associé prend en charge les procédures stockées, vous pouvez affecter le nom d'une procédure stockée à la propriété SelectCommand. La requête SQL que vous spécifiez peut également être une requête paramétrée. Vous pouvez ajouter des objets Parameter associés à une requête paramétrée à la collection SelectParameters. Pour plus d'informations sur les requêtes SQL paramétrées et leur syntaxe, consultez Utilisation de paramètres avec des contrôles de source de données.

Le contrôle SqlDataSource récupère des données chaque fois que la méthode Select est appelée. Cette méthode fournit un accès par programme à la méthode spécifiée par la propriété SelectMethod. La méthode Select est appelée automatiquement par des contrôles liés au SqlDataSource lorsque leur méthode DataBind est appelée. Si vous définissez la propriété DataSourceID d'un contrôle lié aux données, le contrôle crée automatiquement une liaison avec les données de la source de données, si nécessaire. La définition de la propriété DataSourceID est la méthode recommandée pour lier un contrôle ObjectDataSource à un contrôle lié aux données. Vous pouvez également utiliser la propriété DataSource, mais vous devrez ensuite appeler explicitement la méthode DataBind du contrôle lié aux données. Parmi les contrôles liés aux données pouvant utiliser SqlDataSource, on trouve DataGrid, DetailsView, DataList et DropDownList. Vous pouvez appeler la méthode Select par programme à tout moment pour récupérer les données de la base de données sous-jacente.

Dans les scénarios ASP.NET déclaratifs et par programme, vous pouvez affecter l'ID du SqlDataSource à la propriété DataSourceID du contrôle lié aux données. Vous pouvez également assigner une instance de la classe SqlDataSource à la propriété DataSource du contrôle lié aux données. Pour plus d'informations sur la liaison d'un contrôle lié aux données à des contrôles de source de données, consultez Vue d'ensemble de l'accès aux données ASP.NET.

Selon les fonctions du produit de la base de données sous-jacente et la configuration de l'instance de la classe SqlDataSource, vous pouvez exécuter des opérations de données, telles que des mises à jour, des insertions et des suppressions. Pour exécuter ces opérations de données, définissez le texte de commande approprié et tous les paramètres associés pour l'opération que vous souhaitez exécuter. Par exemple, pour une opération de mise à jour, affectez une chaîne SQL ou le nom d'une procédure stockée à la propriété UpdateCommand et ajoutez tous les paramètres requis à la collection UpdateParameters. La mise à jour est effectuée lorsque la méthode Update est appelée, soit explicitement par votre code ou automatiquement par un contrôle lié aux données. Les opérations Delete et Insert suivent le même modèle général.

Les requêtes et commandes SQL que vous utilisez dans les propriétés SelectCommand, UpdateCommand, InsertCommand et DeleteCommand peuvent être paramétrées. Cela signifie que la requête ou commande peut utiliser des espaces réservés au lieu de valeurs littérales et lier les espaces réservés à des variables d'application ou définies par l'utilisateur. Vous pouvez lier des paramètres de requêtes SQL à des variables Session, à des valeurs passées sur la chaîne de requête pour une page Web Forms, aux valeurs de propriété d'autres contrôles serveur, etc. Pour plus d'informations sur l'utilisation de paramètres dans les requêtes SQL avec SqlDataSource, consultez Utilisation de paramètres avec des contrôles de source de données, Utilisation de paramètres avec le contrôle SqlDataSource et Utilisation de paramètres avec le contrôle SqlDataSource.

Par défaut, le contrôle SqlDataSource utilise le fournisseur de données .NET Framework pour SQL Server, mais SqlDataSource n'est pas spécifique à Microsoft SQL Server. Vous pouvez établir une connexion entre le contrôle SqlDataSource et tout produit de base de données disposant d'un fournisseur ADO.NET managé. Lorsqu'il est utilisé avec le fournisseur System.Data.OleDb, SqlDataSource peut fonctionner avec toute base de données conforme à OLE DB. Lorsqu'il est utilisé avec le fournisseur System.Data.Odbc, SqlDataSource peut être utilisé avec tout pilote et base de données ODBC, y compris IBM DB2, MySQL et PostgreSQL. Lorsqu'il est utilisé avec le fournisseur System.Data.OracleClient, SqlDataSource peut fonctionner avec les bases de données Oracle 8.1.7 et versions ultérieures. La liste des fournisseurs autorisés est enregistrée dans la section DbProviderFactories du fichier de configuration, dans le fichier Machine.config ou Web.config. Pour plus d'informations, consultez Sélection de données à l'aide du contrôle SqlDataSource.

Si vous affichez des données sur votre page à l'aide d'un SqlDataSource, vous pouvez améliorer la performance de la page en utilisant les fonctions de mise en cache de données du contrôle de source de données. La mise en cache réduit la charge de traitement sur les serveurs de base de données aux dépens de la mémoire sur le serveur Web ; dans la plupart des cas, il s'agit d'un bon compromis. SqlDataSource met les données automatiquement en cache lorsque la propriété EnableCaching a la valeur true et lorsque la valeur de la propriété CacheDuration correspond au nombre de secondes pendant lesquelles le cache stocke les données avant que l'entrée du cache ne soit ignorée. Vous pouvez également spécifier un CacheExpirationPolicy et éventuellement une valeur SqlCacheDependency.

SqlDataSource fournit des fonctions supplémentaires, comme répertorié dans le tableau suivant.

Fonction

Configuration requise

Mise en cache

Affectez la valeur DataSet à la propriété DataSourceMode, la valeur true à la propriété EnableCaching et définissez les propriétés CacheDuration et CacheExpirationPolicy selon le comportement de mise en cache que vous souhaitez pour vos données en mémoire cache.

Suppression

Affectez à la propriété DeleteCommand une instruction SQL utilisée pour supprimer des données. Cette instruction est généralement paramétrée.

Filtrage

Affectez la valeur DataSet à la propriété DataSourceMode. Affectez à la propriété FilterExpression une expression de filtrage utilisée pour filtrer les données lorsque la méthode Select est appelée.

Insertion

Affectez à la propriété InsertCommand une instruction SQL utilisée pour insérer des données. Cette instruction est généralement paramétrée.

Pagination

Non pris en charge actuellement par SqlDataSource. Cependant, certains contrôles liés aux données, tels que GridView, prennent en charge la pagination lorsque vous affectez la valeur DataSet à la propriété DataSourceMode.

Sélection

Affectez à la propriété SelectCommand une instruction SQL utilisée pour récupérer des données.

Tri

Affectez la valeur DataSet à la propriété DataSourceMode.

Mise à jour

Affectez à la propriété UpdateCommand une instruction SQL utilisée pour mettre à jour les données. Cette instruction est généralement paramétrée.

Comme tous les contrôles de source de données, le contrôle SqlDataSource est associé à une classe d'affichage de la source de données. Le contrôle SqlDataSource n'est associé qu'à un SqlDataSourceView et est toujours nommé Table.

Il n'y a pas de rendu visuel du contrôle SqlDataSource ; il est implémenté comme un contrôle. Vous pouvez donc le créer de manière déclarative et lui permettre éventuellement de participer à la gestion d'état. Par conséquent, SqlDataSource ne prend pas en charge les fonctionnalités visuelles, telles que celles fournies par la propriété EnableTheming ou SkinID.

RubriqueEmplacement
Comment : établir une liaison vers les données d'un contrôle basé sur des modèlesGénération d'applications Web ASP.NET
Comment : activer le filtrage pour le contrôle SqlDataSourceGénération d'applications Web ASP.NET
Comment : accéder à SQL Server en tant qu'utilisateur localGénération d'applications Web ASP.NET
Comment : accéder à SQL Server à l'aide d'un utilisateur de domaine Windows mappéGénération d'applications Web ASP.NET
Procédure pas à pas : affichage de données hiérarchiques dans un contrôle TreeViewGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage et mise en forme des données avec le contrôle serveur Web DataListGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage des données mises en forme dans les pages Web avec le contrôle serveur Web FormViewGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : modification et insertion de données dans les pages Web avec le contrôle serveur Web DetailsViewGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : tri simple pour le contrôle serveur Web GridViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : afficher les publicités d'une base de données à l'aide du contrôle serveur Web AdRotatorGénération d'applications Web ASP.NET
Comment : permettre aux utilisateurs de supprimer des éléments dans des contrôles serveur Web DataListGénération d'applications Web ASP.NET
Comment : personnaliser des contrôles en vue d'une modification dans le contrôle serveur Web GridViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : établir une connexion à une base de données Access à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : établir une connexion à une base de données Oracle à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : accès aux données de base dans les pages WebGénération d'applications Web ASP.NET dans Visual Studio
Comment : se connecter à une base de données SQL Server à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : sécuriser des chaînes de connexion lors de l'utilisation de contrôles de source de données (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter des contrôles serveur Web Repeater à une page Web Forms (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage d'une liste déroulante tout en modifiant le contrôle serveur Web GridViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : activer le filtrage pour des contrôles SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage de données à l'aide d'une procédure stockée dans le contrôle serveur Web GridViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : établir une liaison vers les données d'un contrôle basé sur des modèles dans Visual StudioGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : création de pages Web maître/détail dans Visual StudioGénération d'applications Web ASP.NET dans Visual Studio
Comment : établir une connexion à une base de données ODBC à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : établir une connexion à une base de données ODBC à l'aide du contrôle SqlDataSourceGénération d'applications Web ASP.NET
Comment : établir une connexion à une base de données Access à l'aide du contrôle SqlDataSourceGénération d'applications Web ASP.NET
Comment : sécuriser des chaînes de connexion lors de l'utilisation de contrôles de source de donnéesGénération d'applications Web ASP.NET
Comment : établir une connexion avec une base de données Oracle à l'aide du contrôle SqlDataSourceGénération d'applications Web ASP.NET
Comment : se connecter à une base de données SQL Server à l'aide du contrôle SqlDataSourceGénération d'applications Web ASP.NET
Procédure pas à pas : tri simple pour le contrôle serveur Web GridViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : afficher les publicités d'une base de données à l'aide du contrôle serveur Web AdRotatorGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : modification et insertion de données dans les pages Web avec le contrôle serveur Web DetailsViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser des contrôles en vue d'une modification dans le contrôle serveur Web GridViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : permettre aux utilisateurs de supprimer des éléments dans des contrôles serveur Web DataListGénération d'applications Web ASP.NET dans Visual Studio
Comment : établir une connexion à une base de données Access à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : établir une connexion à une base de données Oracle à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage de données hiérarchiques dans un contrôle TreeViewGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : accès aux données de base dans les pages WebGénération d'applications à l'aide de Visual Web Developer
Procédure pas à pas : affichage et mise en forme des données avec le contrôle serveur Web DataListGénération d'applications Web ASP.NET dans Visual Studio
Comment : se connecter à une base de données SQL Server à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : sécuriser des chaînes de connexion lors de l'utilisation de contrôles de source de donnéesGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage des données mises en forme dans les pages Web avec le contrôle serveur Web FormViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter des contrôles serveur Web Repeater à une page Web FormsGénération d'applications Web ASP.NET dans Visual Studio
Comment : établir une liaison vers les données d'un contrôle basé sur des modèlesGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage d'une liste déroulante tout en modifiant le contrôle serveur Web GridViewGénération d'applications à l'aide de Visual Web Developer
Comment : activer le filtrage pour le contrôle SqlDataSourceGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage de données à l'aide d'une procédure stockée dans le contrôle serveur Web GridViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : accéder à SQL Server en tant qu'utilisateur localGénération d'applications Web ASP.NET dans Visual Studio
Comment : accéder à SQL Server à l'aide d'un utilisateur de domaine Windows mappéGénération d'applications Web ASP.NET dans Visual Studio
Comment : établir une liaison vers les données d'un contrôle basé sur des modèles dans Visual StudioGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : création de pages Web maître/détail dans Visual StudioGénération d'applications à l'aide de Visual Web Developer
Comment : établir une connexion à une base de données ODBC à l'aide du contrôle SqlDataSource (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage d'une liste déroulante tout en modifiant le contrôle serveur Web GridViewdv_vwdcon

Cette section contient quatre exemples de code :

  • Le premier exemple de code illustre comment afficher des données de SQL Server dans un contrôle GridView à l'aide de la syntaxe déclarative.

  • Le deuxième exemple de code illustre comment afficher les données d'une base de données ODBC dans un contrôle GridView à l'aide de la syntaxe déclarative.

  • Le troisième exemple de code illustre comment afficher et mettre à jour des données dans un contrôle GridView.

  • Le quatrième exemple de code illustre comment afficher et mettre à jour des données dans un contrôle DropDownList.

L'exemple de code suivant illustre comment utiliser un contrôle SqlDataSource de manière déclarative pour récupérer des données de SQL Server et les afficher dans un contrôle GridView.

Aucun exemple de code n'est actuellement disponible ou ce langage n'est pas pris en charge.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>
  <BODY>
    <FORM runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataReader"
          ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
          SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:SqlDataSource>

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

    </FORM>
  </BODY>
</HTML>

L'exemple de code suivant illustre comment utiliser un contrôle SqlDataSource de manière déclarative pour récupérer les données d'une base de données ODBC et les afficher dans un contrôle GridView. La propriété ProviderName est le nom du fournisseur de données .NET Framework pour ODBC qui est System.Data.Odbc.

Aucun exemple de code n'est actuellement disponible ou ce langage n'est pas pris en charge.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>

  <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 runat="server">

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

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

    </FORM>
  </BODY>
</HTML>

L'exemple de code suivant illustre un scénario d'affichage et de mise à jour commun avec le contrôle GridView. Comme pour les exemples précédents, les données de la base de données Northwind sont affichées dans le contrôle GridView. En outre, étant donné qu'une propriété UpdateCommand est spécifiée et que la propriété AutoGenerateEditButton a la valeur true, vous pouvez modifier et mettre à jour les enregistrements sans code supplémentaire. Le contrôle GridView gère automatiquement les paramètres d'ajout à la collection UpdateParameters et appelle la méthode Update lorsque vous cliquez sur le bouton Mettre à jour dans le contrôle GridView.

Aucun exemple de code n'est actuellement disponible ou ce langage n'est pas pris en charge.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>
  <BODY>
    <FORM runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataSet"
          ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
          SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
          UpdateCommand="Update Employees SET FirstName=@FirstName,LastName=@LastName,Title=@Title WHERE EmployeeID=@EmployeeID">
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AutoGenerateColumns="False"
          DataKeyNames="EmployeeID"
          AutoGenerateEditButton="True"
          DataSourceID="SqlDataSource1">
          <Columns>
              <asp:BoundField HeaderText="First Name" DataField="FirstName" />
              <asp:BoundField HeaderText="Last Name" DataField="LastName" />
              <asp:BoundField HeaderText="Title" DataField="Title" />
          </Columns>

      </asp:GridView>

    </FORM>
  </BODY>
</HTML>

L'exemple de code suivant illustre un scénario d'affichage et de mise à jour commun avec les contrôles DropDownList et TextBox. Le contrôle DropDownList n'ajoute pas automatiquement de paramètres de mise à jour à la collection UpdateParameters et n'appelle pas automatiquement la méthode Update. Vous devez donc le faire. Les paramètres de mise à jour sont spécifiés de manière déclarative et vous pouvez ajouter un gestionnaire d'événements pour exécuter l'opération Update lorsqu'un événement est déclenché.

Aucun exemple de code n'est actuellement disponible ou ce langage n'est pas pris en charge.
<%@Page  Language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
 private void On_Click(Object source, System.EventArgs e)
 {
    try {
       SqlDataSource1.Update();
    }
    catch (Exception except) {
        // Handle the Exception.
    }
    Label2.set_Text("The record was updated successfully!");
 } //On_Click
</SCRIPT>

<HTML>
  <BODY>
    <FORM runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
          SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID">
          <UpdateParameters>
              <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

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

      <P>
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user." />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <P><asp:Label id="Label2" runat="server" Text="" />

    </FORM>
  </BODY>
</HTML>

  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal.
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal.
System.Object
   System.Web.UI.Control
     System.Web.UI.DataSourceControl
      System.Web.UI.WebControls.SqlDataSource
         System.Web.UI.WebControls.AccessDataSource
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.