Bonjour à tous,
Contexte :
En bref je bosse sur une application de gestion d'appareils photos(coté administration et client).
J'ai une classe métier BDD générique qui me permet de :
- me connecter à me BDD
- ouvrir ma connexion
- fermer ma connexion
- exécuter un reader( à partir de paramètres comme la requete )
- executer une requete (executenonquery à partir d'une requete en paramètre)
- remplir un Datagridview
Problème :
J'ai un formulaire " modifier ", mon datagridview est remplis à l'aide de la commande suivante :
connect_bdd.remplir_dgv(dgv_modif, rqt_dgv, "Produit");
Voici le code de ma fonction remplir_dgv :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public void remplir_dgv(DataGridView dgv,string rqt,string table)
{
cmdMySQL = cnx.CreateCommand();
cmdMySQL.CommandText = rqt;
this.cnx.Open();
da = new MySqlDataAdapter(cmdMySQL);
ds = new DataSet();
da.Fill(ds,'"'+table+'"');
dgv.DataSource = ds;
dgv.DataMember = '"'+table+'"';
this.cnx.Close();
} |
Mon Datagridview est bien remplis, seulement j'essaye maintenant dans ma classe métier BDD de faire une fonction générique "modifier_dgv".
Et là j'ai un soucis car ayant remplis plusieurs datagridview avec ma fonction remplir_dgv(), et bien je n'ai plus en " mémoire " le Dataset correspondant au datagridview que je souhaite modifié.
Ainsi je n'arrive pas à modifier mon datagridview avec le code adapté qui, dans mon idée, est le suivant :
1 2 3 4 5 6 7 8
| builder = new MySqlCommandBuilder(da);
//Mise à jour
da.Update(ds, "produit");
//On vide / recharge le dataset
ds.Clear();
da.Fill(ds, "produit"); |
Mon objectif est donc de faire la fonction ci-dessus en plus générique afin que je puisse la mettre dans ma classe métier.
Ainsi à l'aide de paramètres à définir je pourrais faire un
connect_bdd.modifierdgv(dgv_modif, param2,param3...);
Si je n'ai pas été assez clair, merci de me le dire je re-formulerai.
Merci d'avance,
Partager