2010-07-16 5 views
0

Je travaille sur mon projet uni sur C#. Cela m'oblige à créer un système de gestion des étudiants dans la console C#. Je dois utiliser un fichier texte pour enregistrer les données. Je peux ajouter des données et récupérer des données dans un fichier texte, mais je ne peux pas mettre à jour un dossier d'étudiant. Ma question est de savoir comment je peux mettre à jour un dossier d'étudiant spécifique dans un fichier texte? Par exemple mon programme demandera à l'utilisateur d'indiquer à l'étudiant qu'il veut mettre à jour que le programme devrait aller chercher le dossier complet de cet étudiant. Le programme demande à nouveau à l'utilisateur de sélectionner le ou les champs qu'il veut mettre à jour. Après la mise à jour du champ, l'enregistrement doit être mis à jour.C# mise à jour de l'enregistrement dans le fichier texte

+2

Pourquoi devez-vous utiliser un fichier texte pour enregistrer les données? Existe-t-il un format particulier à utiliser pour le fichier texte? – ChrisNel52

+0

Le fichier texte CSV, longueur fixe ou autre format? – JLWarlow

+0

Vous demandez vraiment beaucoup ici ... Qu'avez-vous essayé jusqu'à présent? – ChaosPandion

Répondre

0

Je peux suggérer un moyen simple/évident et pas le plus efficace.

Pour les devoirs, il n'y a aucun problème de performance qui vous empêche de charger toutes les données des étudiants dans un grand tableau et de mettre à jour le tableau. Lorsque tout est terminé et que l'utilisateur décide de quitter, vous pouvez sauvegarder toutes les données.

Le plus difficile est de charger l'élève et de mettre à jour l'objet étudiant, puis de le réécrire à la fin du fichier. N'oubliez pas de supprimer également l'ancienne ligne. Vous pouvez stocker chaque élève dans une rangée

Une autre façon plus difficile est d'accès aléatoire le fichier, ce qui nécessite un format de données texte stricte

+0

J'ai aimé votre idée. Pourriez-vous s'il vous plaît écrire du code pour moi comment le faire dans le tableau? Ce sera une aide précieuse car je me bats dans la programmation. – rahat

+0

vous voulez dire comment charger des données à partir d'un fichier plat à un tableau? ou comment mettez-vous à jour votre tableau? – vodkhang

+0

je veux dire les deux. Comment mettre à jour le tableau et rajouter les données dans le fichier. – rahat

0

Si vous n'êtes pas obligé de faire la sortie de texte, mais utiliser un fichier qui est main modifiable, vous devriez sérieusement envisager de créer une classe XML Serializable dire Data qui implémente une liste où Student est sérialisable. Ensuite, vous n'avez plus qu'à utiliser les méthodes Xml Serialize/Deserialize pour lire et écrire vos données. Une fois lu, vous pouvez implémenter un algorithme de recherche ou utiliser Linq dans la liste. Bien sûr, @vodkhang mentionne un point valable sur le stockage de fichiers concernant les performances et l'accès aléatoire par rapport au chargement de tous en mémoire.

0

Vous pouvez également utiliser la nouvelle fonction MemoryMappedFile qui vous permet de charger des parties d'un fichier dans la mémoire et les modifications sont mises en mémoire tampon pour vous. J'aime aussi l'idée d'écrire à la fin du fichier et de supprimer la ligne d'origine. Ce n'est pas comme si vous aviez une indexation sur les ID d'enregistrement ou quoi que ce soit ...

+0

Peut-être que cette suggestion est un peu avancée? – ChaosPandion

Questions connexes