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
Ouvrez le projet qui contient un ou plusieurs datasets typés dans Visual Studio.
Exécutez l'Assistant Conversion de Visual Studio.
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.
Cliquez sur une zone vide du Concepteur de DataSet.
Localisez la propriété Mise à jour hiérarchique dans la Propriétés (fenêtre).
Affectez à la propriété Mise à jour hiérarchique la valeur True.
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
Localisez le code qui appelle les méthodes TableAdapter.Update (par exemple, CustomersTableAdapter.Update(NorthwindDataSet.Customers)).
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
Ouvrez le formulaire en mode Design.
Faites glisser un composant TableAdapterManager de la Boîte à outils vers le formulaire.
Localisez le code qui appelle les méthodes TableAdapter.Update (par exemple, CustomersTableAdapter.Update(NorthwindDataSet.Customers)).
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);