[C#/ADO.Net] Lier un dataset à une table SQL server
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:
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:
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:
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 ;) .