Enregistrer des données
Dans tous les programmes que vous avez réalisés jusque-là, lors de la fermeture du programme, toutes les informations saisies sont effacées, ce qui est gênant. Heureusement, il existe des moyens de sauvegarder des données une fois l’exécution d’un programme terminée. Vous allez voir deux méthodes : la première repose sur des fichiers de sauvegarde ; la deuxième, fondée sur les bases de données, est plus complète mais plus longue à mettre en place.Chacune de ses deux méthodes possède ses avantages et ses inconvénients. Dans le cas de la sauvegarde par fichier, il faut prendre le temps de définir un système de lecture et d’écriture, réfléchir à l’ordre dans lequel vous allez stocker des informations dans le fichier et l’ordre dans lequel vous allez les lire. Il est courant d’utiliser cette méthode lorsque les informations à stocker ne sont pas nombreuses. En effet, un fichier contenant seulement quelques lignes prend beaucoup moins de place qu’une base de données.
Les bases de données
Chacune de ses deux méthodes possède ses avantages et ses inconvénients. Dans le cas de la sauvegarde par fichier, il faut prendre le temps de définir un système de lecture et d’écriture, réfléchir à l’ordre dans lequel vous allez stocker des informations dans le fichier et l’ordre dans lequel vous allez les lire. Il est courant d’utiliser cette méthode lorsque les informations à stocker ne sont pas nombreuses. En effet, un fichier contenant seulement quelques lignes prend beaucoup moins de place qu’une base de données.Lorsque les informations sont plus nombreuses, on veut généralement les organiser. Prenons le cas de recettes de cuisine. Supposons que vous disposiez de cinq recettes : un gâteau, un plat, deux salades et un clafoutis. Il est facile de les garder toutes dans un tiroir, et chaque fois que l’envie de cuisiner vous saisit, de prendre celle qui vous intéresse. Supposons maintenant que vous avez réuni cinq cents recettes. Il devient dès lors nécessaire de les ranger dans une sorte de classeur, par thèmes, par types de plats ou encore par pays d’origine. Une base de données est simplement le classeur dans lequel vous allez les organiser. Il s’agit d’un système de regroupement et d’organisation des données à la manière d’une bibliothèque.
Sur une feuille de papier, dessinez un rectangle plus haut que large. En haut, inscrivez « Recettes ». Tirez un trait juste en dessous. Divisez le reste du tableau pour avoir deux colonnes sous la ligne « Recettes ». Dans la colonne de gauche, inscrivez tout ce qui peut caractériser une recette de cuisine. Dans celle de droite, inscrivez de quels types de données informatiques ces critères relèvent. Par exemple, le nombre de personnes pour lequel est prévue la recette peut être représenté dans unCette représentation va servir à établir ce que sera une table dans la base de données. Une table est une partie de la base qui va contenir des informations. Ce que vous venez de faire s’appelle la modélisation de la base de données. En effet, une base de données est organisée sous forme de tables. Dans la table des recettes par exemple, chaque recette va représenter une entrée. Une fois en mémoire, la table consistera en un tableau dont chaque ligne sera une entrée. Une fois rempli, le tableau se présentera comme ceci pour le programme :
Écrire dans un fichier
En quoi cette organisation sous forme de tableau fait-elle gagner du temps ? Si vous avez deux recettes, cela ne sert à rien car la quantité d’informations n’est pas importante. Si vous avez deux mille recettes à trier, une base de données va vous permettre de retrouver la recette que vous cherchez parmi les deux mille disponibles, et ce en moins d’une seconde, grâce à un langage spécifique de requêtes. Rassurez-vous, il n’est pas question que vous appreniez le langage des bases de données pour le moment. Visual Basic se charge de traduire pour vous. Pour le moment, retenez ce principe : de manière à optimiser le programme à l’aide d’une base de données, il faut d’abord réfléchir à l’organisation deLe test conditionnel permet de vérifier que l’utilisateur a bien cliqué sur le bouton OK de la boîte de dialogue de sauvegarde de fichier. Une fois que vous êtes sûr qu’un fichier a bien été sélectionné, vous exploitez une nouvelle notion, que sont les flux. Un peu à la manière d’un tuyaux, un flux permet de faire passer de l’information d’un point à un autre, comme une rivière permet à un bateau de naviguer d’une ville à un autre. Vous utilisez ici un objet de type StreamWriter, que l’on peut traduire par « flux d’écriture ». Vous faites passer de l’information d’un point A à un point B en l’écrivant une fois arrivé au point B. Dans ce cas, le point A représente chacune des TextBox que vous allez remplir, et le point B représente le fichier d’arrivée dans lequel vous voulez enregistrer la recette.