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" :
Je fais mes requêtes de cette manière :
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; } }
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 DataSet dsMaJOF; LinkBDD lkB = new LinkBDD(); dsMaJOF = lkB.Req_BDD(connectString, requeteSelect, table);
Merci d'avance .
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 }
Partager