Comment : implémenter une mise à jour hiérarchique dans des projets Visual Studio existants

Depuis Visual Studio 2008, les datasets typés ont été améliorés par le composant TableAdapterManager. TableAdapterManager réduit la quantité de code qui est requise pour l'enregistrement de données dans plusieurs tables connexes à partir de plusieurs routines avec de nombreuses lignes de code dans un seul appel de méthode : TableAdapterManager.UpdateAll(TypedDataset). Par défaut, la mise à jour hiérarchique est activée pour tous les nouveaux groupes de données qui sont ajoutés ou créés dans un projet. Les groupes de données existants (les groupes de données créés dans les versions de Visual Studio antérieures à Visual Studio 2008) ne contiennent pas de composant TableAdapterManager. Par conséquent, la propriété Mise à jour hiérarchique des groupes de données créés dans les versions précédentes a par défaut la valeur False. Générez des composants TableAdapterManager en affectant à la propriété Mise à jour hiérarchique la valeur True et en enregistrant le groupe de données. Pour plus d'informations, consultez Vue d'ensemble de TableAdapterManager.

Activation de la mise à jour hiérarchique et génération du composant TableAdapterManager

Notes

Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Customizing Development Settings in Visual Studio.

Pour activer la mise à jour hiérarchique dans les versions précédentes des groupes de données typés

  1. Ouvrez le projet qui contient un ou plusieurs datasets typés dans Visual Studio.

  2. Exécutez l'Assistant Conversion de Visual Studio.

  3. Ouvrez le groupe de données dans le Création et modification de Datasets typés en double-cliquant sur le fichier .xsd dans l'Explorateur de solutions.

  4. Cliquez sur une zone vide du Concepteur de DataSet.

  5. Localisez la propriété Mise à jour hiérarchique dans la Propriétés (fenêtre).

  6. Affectez à la propriété Mise à jour hiérarchique la valeur True.

  7. Dans le menu Générer, cliquez sur Générer la solution.

Configuration de TableAdapterManager et enregistrement des données

L'affectation de la valeur True à la propriété Mise à jour hiérarchique et l'enregistrement du groupe de données génèrent le composant TableAdapterManager qui active la mise à jour hiérarchique. Après avoir généré le composant TableAdapterManager, mettez à jour votre code existant pour instancier un nouveau TableAdapterManager et appeler la méthode TableAdapterManager.UpdateAll() au lieu des méthodes TableAdapter.Update() individuelles. Si le code TableAdapter existant se trouve dans une bibliothèque de classes (ou un fichier sans interface utilisateur), vous devez instancier un nouveau TableAdapterManager par programmation. Si le code TableAdapter existant se trouve dans un formulaire, vous pouvez instancier un nouveau TableAdapterManager en faisant glisser un composant TableAdapterManager de la Boîte à outils vers le formulaire.

Les TableAdapterManagers sont fortement typés, autrement dit, ils sont générés avec les propriétés référençant les TableAdapters individuels qu'ils gèrent. Après avoir instancié un TableAdapterManager, définissez les propriétés TableAdapter individuelles en tant qu'instances de chaque TableAdapter, comme indiqué dans les procédures suivantes.

Pour ajouter un TableAdapterManager à un projet existant sans interface utilisateur

  1. Localisez le code qui appelle les méthodes TableAdapter.Update (par exemple, CustomersTableAdapter.Update(NorthwindDataSet.Customers)).

  2. Remplacez le code qui appelle les méthodes TableAdapter.Update individuelles par ce qui suit :

    Dim adapterManager as new TableAdapterManager
    adapterManager.TableName1TableAdapter = new _
    TableName1TableAdapter
    adapterManager.TableName2TableAdapter = new _
    TableName2TableAdapter
    
    adapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager adapterManager = 
    new TableAdapterManager();
    
    adapterManager.TableName1TableAdapter = 
    new TableName1TableAdapter();
    adapterManager.TableName2TableAdapter = 
    new TableName2TableAdapter();
    
    adapterManager.UpdateAll(this.DataSetName);
    

Pour ajouter un TableAdapterManager à un projet existant avec une interface utilisateur

  1. Ouvrez le formulaire en mode Design.

  2. Faites glisser un composant TableAdapterManager de la Boîte à outils vers le formulaire.

  3. Localisez le code qui appelle les méthodes TableAdapter.Update (par exemple, CustomersTableAdapter.Update(NorthwindDataSet.Customers)).

  4. Remplacez le code qui appelle les méthodes TableAdapter.Update individuelles par ce qui suit :

    Me.TableAdapterManager.TableName1TableAdapter = _
    new DatasetNameTableAdapters.TableName1TableAdapter
    Me.TableAdapterManager.TableName2TableAdapter = _
    new DatasetNameTableAdapters.TableName2TableAdapter
    
    Me.TableAdapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager.TableName1TableAdapter = new 
    TableName1TableAdapter();
    TableAdapterManager.TableName2TableAdapter = new 
    TableName2TableAdapter();
    
    TableAdapterManager.UpdateAll(this.DataSetName);
    

Voir aussi

Concepts

Vue d'ensemble de la mise à jour hiérarchique

Vue d'ensemble de TableAdapterManager