Bonjour,
J'ai un problème, j'aimerai pouvoir déclencher un évènement lorsqu'une table SQL est mise à jour (update ou insert).
Dans mon application j'effectue une requête SQL dont le résultat est stocké dans un Dataset. Pour mes requêtes, j'ai créé un objet "LinkBDD" :

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
 
    public class LinkBDD
    {
        public LinkBDD()
        {
        }
        public DataSet Req_BDD(String connect, String requete, String table)
        {
            SqlConnection connexion = new SqlConnection();
            connexion.ConnectionString = connect;
 
            SqlCommand selectCommand = new SqlCommand();
            selectCommand.Connection = connexion;
            selectCommand.CommandText = requete;
 
            SqlDataAdapter adapter = new SqlDataAdapter(selectCommand); // Permet de lire les données
            DataSet data = new DataSet(); // Contient les données
 
            try
            {            
                    connexion.Open(); // Ouverture de la connexion
                    adapter.Fill(data, table); // Récupère les données
            }
            catch (Exception ex)
            {
                ErrorLogin EL = new ErrorLogin();
                EL.ErrorLoginWritter(ex.Message);
            }
            finally
            {
                connexion.Close();
            }
            return data;
        }
    }
Je fais mes requêtes de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
            DataSet dsMaJOF;
            LinkBDD lkB = new LinkBDD();
            dsMaJOF = lkB.Req_BDD(connectString, requeteSelect, table);
Le problème c'est que mon dataset ne reste pas liéé à ma table SQL (normal). Comment puis-je faire pour que mon dataSet se mette à jour en même temps que la table ? Comme ça ceci fonctionnerait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
                dsMaJOF.Tables[0].RowChanged += new DataRowChangeEventHandler(Row_Changed);
                .
                .
                .
                private static void Row_Changed(object sender, DataRowChangeEventArgs e)
                         {
                              //Déclenché quand le dataset est à jour
                         }
Merci d'avance .