Bonjour à tous,

Mon problème est assez complexe, pas techniquement mais contextuellement dirons nous, et je me permets de vous le présenter.
Je développe en C# une application où les comboboxes doivent se remplir grâce à ma BDD de données Access.
Mon but est le suivant :
  1. Une classe pour chaque table de la base; Produit et Couleur, par exemple, sont des tables Access avec les mêmes attributs que dans leur fichier Class, avec des get/set.
  2. Une classe abstraite, et c'est là que je galère : elle doit prendre en paramètre chacun des attributs d'une classe donnée, et renvoyer une chaine "requête", qui a été générée grâce aux classes filles, c'est à dire les classes Produit, Couleur.... J'ai choisi cette solution pour ne pas avoir à taper 50 mille requêtes.

Je vous donne le peu de code que j'ai, pour pouvoir illustrer mon problème. C'est ma classe abstraite, donc. Voilà ou j'en suis....
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
        public string Select()
        {
            string query = "";
            string select = "SELECT ";
            string from = " FROM ";
            string join = "";
            string condition = "";
 
            Type type = this.GetType();
            foreach (var item in type.GetProperties())
            {
                if (item.Name == "Id")
                {
                        select = select + item.Name + type.Name;
                        from = from + type.Name; 
                }
            }
            query = select + from + join + condition;
            return query;
        }
Le problème, c'est que je suis comme qui dirait bloqué. J'ai cherché, croyez moi, mais en vain.
Je vous donne ce bout de code, afin que vous compreniez un peu ce que j'essaie de faire.
Mon problème est autant technique qu'abstrait : que faire avec ça ? J'ai eu le début de l'idée mais, j'avoue que je tourne en rond depuis quelques heu--jours.

Sincère merci d'avoir lu ce pavé, et davantage si vous essayez d'y répondre.

Cordialement,
Félix