Bonjour,
Je travaille sur un projet de cahier de bord pour enseignants, sous forme de solution Windows Forms, sous C#, avec Visual Studio 2017.
La fenêtre principale, pour l’instant, n’est qu’un formulaire comportant un masque de saisie qui me permet de saisir le prénom, le nom et la date de naissance des élèves, et de préciser s’il s’agit de redoublant, à l’aide d’une case à cocher. Ce masque de saisie devrait permettre d’alimenter une base de données.
Voici le formulaire, qui comporte également une DataGridView, qui affiche les données de la base de données Elèves.
Tout semble fonctionner parfaitement, mais la touche « Enregistrer » de la barre d’outils « BindingNavigator » ne modifie pas la base de données. Voici la méthode déclenchée par l’événement click :
Voilà plusieurs jours que je galère sur cette question, mais je ne parviens pas à trouver ce qui cloche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private void elevesBindingNavigatorSaveItem_Click(object sender, EventArgs e) { this.Validate(); this.elevesBindingSource.EndEdit(); this.elevesTableAdapter.Update(this.profDataSet.Eleves); this.profDataSet.AcceptChanges(); elevesBindingSource.DataSource = profDataSet.Eleves; }
Voici à présent la méthode déclenchée par le chargement de la fenêtre :
Les zones de texte sont bien reliées à la base de données, ainsi que la DataGridView. Lorsque je saisis un prénom, un nom, une date de naissance dans le masque, il est bien copié dans la DataGridView. Mais les données ne sont jamais sauvegardées dans la base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private void Form1_Load(object sender, EventArgs e) { elevesTableAdapter.Fill(dataTable: profDataSet.Eleves); elevesBindingSource.DataSource = profDataSet.Eleves; }
Merci de m'indiquer ce qui manque dans mon code.
A bientôt.
Partager