Bonjour les amis ,

Je rencontre des difficultés avec une partie de mon application, celle de modifier la table Etudiant directement depuis mon datagrid.

Sachant que j'arrive à afficher les entrées de la base de données sur mon Datagrid lorsque je clique sur un menu item : (voici le code de cet événement)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
 private void MenuItem_Click_14(object sender, RoutedEventArgs e)
        {
 
 
 
 
            if (MainWindow.flag == true) // mode connecté 
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "listeetudiant"; // procédure stockée
                cmd.Connection = connexion;
                SqlDataReader dr = cmd.ExecuteReader();
                dtm.Load(dr);                            
                dataGrid2.ItemsSource = dtm.DefaultView;
                label1.Content = "Etudiant:";
                MessageBox.Show("connecté");
 
 
 
 
            }
            else if (MainWindow.flag == false)
            {
 
                dataGrid2.ItemsSource = ds.Tables["Etudiant"].DefaultView;
                label1.Content = "Etudiant:";
                MessageBox.Show("déconnecté");
 
 
            }
 
 
 
        }
Jusqu'ici tout se passe très bien, maintenant lorsque je double clique sur une entrée et je la modifie, je clique sur le bouton Enregistrer et le code est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 private void button7_Click(object sender, RoutedEventArgs e)
        {
 
 
 
                da.Update(ds,"Etudiant");
 
 
        }
Losrque j'exécute ça me fait une erreur :
La référence d'objet n'est pas définie à une instance d'un objet.
et la ligne da.Update(ds,"Etudiant"); devient jaune.

NB : da ( dataadapter ) et ds ( Dataset) sont déclarées globales.

Votre aide m'aidera énormément, merci D'avance

Edit
Salut ,
le truc c'est de modifier directement sur le datagrid et cliquer sur enregistrer pour enregistrer sur la base de données les nouvelles valeurs saisies.

Merci