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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
connect_bdd.remplir_dgv(dgv_modif, rqt_dgv, "Produit");
Voici le code de ma fonction remplir_dgv :

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
        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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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,