Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
La DataSet classe et les classes associées sont des technologies .NET Framework héritées du début des années 2000 qui permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Les technologies sont particulièrement utiles pour les applications qui permettent aux utilisateurs de modifier les données et de conserver les modifications apportées à la base de données. Bien que les jeux de données soient une technologie éprouvée, l’approche recommandée pour les nouvelles applications .NET consiste à utiliser Entity Framework Core. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet et dispose d’une interface de programmation plus simple.
TableAdapters active la communication entre votre application et une base de données. Ils se connectent à la base de données, exécutent des requêtes ou des procédures stockées, puis retournent une nouvelle table de données ou remplissent une instance de classe existante DataTable avec les données retournées. TableAdapters peut également envoyer des données mises à jour de votre application à la base de données.
Les TableAdapters sont créés lorsque vous effectuez l’une des actions suivantes :
Faites glisser des objets de base de données de l’Explorateur de serveurs vers le Concepteur de jeux de données.
Faites glisser l’objet
TableAdapterde la boîte à outils vers une région vide dans l’aire du Concepteur de jeux de données , puis configurez la source de données.Exécutez l’Assistant de configuration de la source de données, puis sélectionnez le type de source de données base de données ou service web :
Pour une introduction aux TableAdapters, consultez Remplir les jeux de données en utilisant des TableAdapters.
Conditions préalables
Pour effectuer les procédures décrites dans cet article, les conditions préalables suivantes doivent être satisfaites :
- Visual Studio. Téléchargez Visual Studio maintenant.
Remarque
Les instructions dans cet article illustrent la version la plus récente de l’expérience de développement interactif (IDE) disponible dans Visual Studio. Votre ordinateur peut afficher des noms ou des emplacements différents pour certains des éléments de l’interface utilisateur. Il se peut que vous utilisiez une autre version de Visual Studio ou d’autres paramètres d’environnement. Pour plus d’informations, consultez Personnaliser l’IDE.
Accéder à l’Assistant Configuration de TableAdapter
Vous pouvez utiliser l’Assistant Configuration de TableAdapter pour créer de nouveaux TableAdapters ou modifier des instances existantes et configurer leurs tables de données associées.
Pour configurer un TableAdapter existant avec l’Assistant, cliquez avec le bouton droit sur l’instance TableAdapter dans le Concepteur de jeux de données , puis sélectionnez Configurer :
Pour créer un TableAdapter avec l’Assistant, faites glisser l’objet
TableAdapterde la Boîte à outils vers une région vide dans l’aire du Concepteur de jeux de données.
Utiliser l’Assistant
Pour la configuration de TableAdapter, l’Assistant Configuration de TableAdapter vous guide tout au long des tâches suivantes :
Configurez les paramètres requis pour TableAdapter.
Spécifiez le type de source de données pour la connexion TableAdapter.
Identifiez les commandes à utiliser pour la communication avec la base de données, soit avec des instructions SQL, soit des procédures stockées. Si le TableAdapter est déjà associé à une source de données, vous ne voyez pas cette option dans l’Assistant.
Créez des procédures stockées, si nécessaire.
Créez une procédure stockée dans la base de données sous-jacente, si vous disposez des autorisations appropriées pour la base de données. Si vous n’avez pas les autorisations nécessaires, cette option n’est pas disponible dans l’Assistant.
Exécutez des procédures stockées existantes, si nécessaire.
Les procédures sont disponibles pour les commandes SELECT, INSERT, UPDATE et DELETE de TableAdapter. Par exemple, la procédure stockée affectée à la commande UPDATE s’exécute lorsque vous appelez la
TableAdapter.Update()méthode.Mappez les paramètres de la procédure stockée sélectionnée aux colonnes correspondantes dans la table de données. Par exemple, si votre procédure stockée accepte un paramètre nommé
@CompanyNamequ’elle passe à la colonneCompanyNamede la table de données, définissez la colonne source du paramètre@CompanyNamesurCompanyName.Remarque
Pour la commande SELECT , la procédure stockée s’exécute lorsque vous appelez la méthode TableAdapter
Fill, par défaut. Vous spécifiez un nom pour la méthode Fill() sur la page suivante de l’Assistant. Lorsque vous utilisez la méthode par défaut, le code standard pour exécuter la procédure stockée pour la commande SELECT estTableAdapter.Fill(<TableName>). Vous remplacez la<TableName>partie par le nom de la table de données.Si vous modifiez le nom de la méthode par défaut à partir de
Fill, vous devez mettre à jour le code de la procédure. RemplacezFillpar le nouveau nom de méthode et utilisez le nom réel de TableAdapter. Par exemple, pour un TableAdapter nomméCustomersTableAdapteret une table de données nomméeCustomersTable, si vous modifiez le nom de la méthodeFillenAddData, mettez à jour le code pourCustomersTableAdapter.AddData(CustomersTable).- Choisissez s’il faut activer les méthodes Create pour envoyer des mises à jour directement à l’option de base de données . Lorsque cette option est activée, elle équivaut à définir la
GenerateDBDirectMethodspropriété sur true. L’option n’est pas disponible lorsque l’instruction SQL d’origine ne fournit pas suffisamment d’informations ou que la requête n’est pas une requête pouvant être mise à jour. Par exemple, lorsque les requêtes JOIN et d’autres requêtes retournent une valeur unique (scalaire).
- Choisissez s’il faut activer les méthodes Create pour envoyer des mises à jour directement à l’option de base de données . Lorsque cette option est activée, elle équivaut à définir la
Configurez vos préférences pour les options avancées.
Générez des commandes INSERT, UPDATE et DELETE en fonction de la commande SELECT définie sur la page Générer des instructions SQL .
Utilisez l'accès concurrentiel optimiste.
Actualisez la table de données après l’exécution des commandes INSERT et UPDATE .
Configurer la méthode TableAdapter.Fill()
Dans certains scénarios, vous pouvez modifier le schéma de la table de données de TableAdapter. Pour terminer l’action, vous modifiez la méthode principale Fill de TableAdapter. TableAdapters est créé avec une méthode primaire Fill qui définit le schéma de la table de données associée. La méthode primaire Fill est basée sur la requête ou la procédure stockée que vous avez entrée lorsque vous avez initialement configuré TableAdapter. Il s’agit de la première méthode (la plus haute) sous la table de données du Concepteur de jeux de données.
Toutes les modifications apportées à la méthode principale Fill de TableAdapter sont reflétées dans le schéma de la table de données associée. Par exemple, la suppression d’une colonne de la requête dans la méthode principale Fill supprime également la colonne de la table de données associée. En outre, la suppression de la colonne de la méthode Fill principale supprime la colonne de toutes les requêtes supplémentaires pour ce TableAdapter.
Vous pouvez utiliser l’Assistant Configuration des requêtes TableAdapter pour créer et modifier des requêtes supplémentaires pour TableAdapter. Ces requêtes supplémentaires doivent être conformes au schéma de table, sauf si elles retournent une valeur scalaire. Chaque requête supplémentaire a un nom que vous spécifiez.
L’exemple suivant montre comment appeler une requête supplémentaire nommée FillByCity:
CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")
Créer une requête avec l’Assistant
Vous pouvez créer une requête avec l’Assistant Configuration des requêtes TableAdapter en procédant comme suit :
Ouvrez votre jeu de données dans le concepteur de jeux de données .
Créez une requête avec l’une des actions suivantes :
- Dans le Concepteur de jeux de données, cliquez avec le bouton droit sur TableAdapter, puis sélectionnez Ajouter une requête.
- Faites glisser l’objet
Queryde l’onglet DataSet de la boîte à outils sur la surface DataTable du Dataset Designer. - Faites glisser l’objet
Queryde la boîte à outils vers une région vide sur la surface du Concepteur de jeux de données, ce qui crée un TableAdapter sans DataTable associé.
Ces requêtes peuvent retourner des valeurs uniques (scalaires) uniquement, ou exécuter des commandes UPDATE, INSERT ou DELETE sur la base de données.
Dans l’écran Choisir votre connexion de données , sélectionnez une connexion existante ou créez une connexion pour la requête.
Remarque
Cet écran s’affiche uniquement lorsque le concepteur ne peut pas déterminer la connexion à utiliser ou quand aucune connexion n’est disponible.
Dans l’écran Choisir un type de commande, configurez la commande en sélectionnant les méthodes suivantes qui extraient les données de la base de données :
Utilisez des instructions SQL : vous entrez une instruction SQL pour sélectionner les données de votre base de données.
Créer une procédure stockée : l’Assistant crée une procédure stockée (dans la base de données) en fonction de la commande SELECT spécifiée.
Utilisez des procédures stockées existantes : vous exécutez une procédure stockée existante lorsque vous exécutez la requête.
Configurer une requête avec l’Assistant
Pour modifier une requête TableAdapter existante avec l’Assistant Configuration de requête TableAdapter, cliquez avec le bouton droit sur la requête, puis sélectionnez Configurer. L’action de clic droit produit un résultat différent en fonction du type de requête que vous sélectionnez :
Pour la requête principale d’un TableAdapter, le TableAdapter et le DataTable schéma sont reconfigurés.
Sur une requête supplémentaire sur un TableAdapter, seule la requête sélectionnée est reconfigurée.
L’Assistant Configuration de TableAdapter reconfigure la définition TableAdapter, tandis que l’Assistant Configuration de requête TableAdapter reconfigure uniquement la requête sélectionnée.
Ajouter une requête globale à un TableAdapter
Les requêtes globales sont des requêtes SQL qui retournent une valeur unique (scalaire) ou aucune valeur. En règle générale, les fonctions globales effectuent des opérations de base de données telles que les insertions, les mises à jour et les suppressions. Ils agrègent également des informations, telles qu’un nombre de clients dans une table ou le total des frais pour tous les éléments d’une commande particulière.
Ajoutez une requête globale en faisant glisser l’objet
Queryde l’onglet DataSet de la boîte à outils vers une région vide dans l’aire du Concepteur de jeux de données .Entrez une requête qui effectue une tâche spécifique, telle que
SELECT COUNT(*) AS CustomerCount FROM Customers.Remarque
Le fait de faire glisser un
Queryobjet directement sur l’aire du Concepteur de jeux de données crée une méthode qui retourne une valeur scalaire (unique) uniquement. Bien que la requête ou la procédure stockée que vous sélectionnez retourne plus d’une valeur unique, la méthode créée par l’Assistant retourne une seule valeur. Par exemple, la requête peut retourner la première colonne de la première ligne des données retournées.
