Une introduction à DataSet dans VB.NET

Une grande partie de la technologie de données de Microsoft, ADO.NET, est fournie par l'objet DataSet. Cet objet lit la base de données et crée une copie en mémoire de la partie de la base de données dont votre programme a besoin. Un objet DataSet correspond généralement à une véritable table ou vue de base de données, mais DataSet est une vue déconnectée de la base de données. Une fois qu'ADO.NET a créé un DataSet, il n'y a pas besoin d'une connexion active à la base de données, ce qui contribue à l'évolutivité car le programme n'a qu'à se connecter à un serveur de base de données pendant quelques microsecondes lors de la lecture ou de l'écriture. En plus d'être fiable et facile à utiliser, DataSet prend en charge à la fois une vue hiérarchique des données au format XML et une vue relationnelle que vous pouvez gérer après la déconnexion de votre programme.

Vous pouvez créer vos propres vues uniques d'une base de données à l'aide de DataSet. Reliez les objets DataTable les uns aux autres avec les objets DataRelation. Vous pouvez même appliquer l'intégrité des données à l'aide des objets UniqueConstraint et ForeignKeyConstraint. L'exemple simple ci-dessous utilise une seule table, mais vous pouvez utiliser plusieurs tables de différentes sources si vous en avez besoin.

Codage d'un ensemble de données VB.NET

Ce code crée un DataSet avec une table, une colonne et deux lignes:

La façon la plus courante de créer un DataSet consiste à utiliser la méthode Fill de l'objet DataAdapter. Voici un exemple de programme testé:

Le DataSet peut ensuite être traité comme une base de données dans votre code de programme. La syntaxe ne l'exige pas, mais vous fournirez normalement le nom du DataTable dans lequel charger les données. Voici un exemple montrant comment afficher un champ.

Bien que le DataSet soit facile à utiliser, si les performances brutes sont l'objectif, il vaut mieux écrire plus de code et utiliser le DataReader à la place.

Si vous devez mettre à jour la base de données après avoir modifié le DataSet, vous pouvez utiliser la méthode Update de l'objet DataAdapter, mais vous devez vous assurer que les propriétés DataAdapter sont définies correctement avec les objets SqlCommand. SqlCommandBuilder est généralement utilisé pour ce faire.

DataAdapter détermine ce qui a changé, puis exécute une commande INSERT, UPDATE ou DELETE, mais comme pour toutes les opérations de base de données, les mises à jour de la base de données peuvent rencontrer des problèmes lorsque la base de données est mise à jour par d'autres utilisateurs, vous devez donc souvent inclure du code anticiper et résoudre les problèmes lors du changement de la base de données.

Parfois, seul un DataSet fait ce dont vous avez besoin. Si vous avez besoin d'une collection et que vous sérialisez les données, un DataSet est l'outil à utiliser. Vous pouvez sérialiser rapidement un DataSet en XML en appelant la méthode WriteXML.

DataSet est l'objet le plus probable que vous utiliserez pour les programmes qui référencent une base de données. C'est l'objet principal utilisé par ADO.NET, et il est conçu pour être utilisé en mode déconnecté.