Bonjour,

Je développe une application avec un formulaire permettant d'afficher dans un datagrid les entrées d'une table MySql. Ce formulaire propose plusieurs champs saisissable, correspondant aux colonnes de ma table, qui jouent ainsi le rôle de filtre.
Par exemple, j'ai une table Clients qui contient les colonnes "Nom", "Ville", "Age". J'ai donc un formulaire avec trois textbox: Nom, Ville et Age.
Lors du load du form, j'affiche l'intégralité de ma table. Jusque là, tout va bien. Je fais SELECT Nom,Ville,Age from T_CLIENTS, un datatable pour po et zou.

En revanche, comment procéder pour coder "proprement" le filtre. En effet, je voudrais utiliser les paramètres (MySqlParameter) mais je suis face à deux problèmes:
- un paramètre peut être valorisé ou non : du coup, impossible pour moi de définir en amont la requête SELECT Nom, Ville Age From T_CLIENTS WHERE Nom=@Nom OR Ville =@Ville OR Age=@Age étant donné que si le champ est vide, la requête ne renverra pas le résultat escompté.
- un paramètre peut contenir plusieurs valeurs. Par exemple, le champ "Nom" peut contenir la valeur "Dupont;Durand", la requête correspondante serait Select Nom,Ville,Age From T_CLIENTS Where Nom In ("Dupont","Durand) mais si le champ contient la valeur "Dupont", la requête serait Select Nom,Ville,Age From T_CLIENTS Where Nom = "Dupont" (je me rends compte à l'écriture de ce message que je pourrais faire un IN ("DUPONT"))

Je peux (et sais comment) m'en sortir mais avec beaucoup de code et en construisant la requête au fur à mesure de la lecture des champs mais je fais appel à vous pour savoir s'il existe une façon plus "propre" de coder cela.

D'avance merci.