Bonjour je viens pour un nouveau petit mystère,
voici la traduction française du code suivant , j'explique ma question juste après.
Lorsque que je cherche dans ma base de données une fiche FS ( qui contient 6 critères) je peux la chercher via mon appli. à l'aide d'un menu composé d'une textbox et de 6 combobox que vous retrouverez nommées dans le code ci-après. Chaque Combobox correspond à un critère de recherche ( Radiologique , Etat , Centre , Producteur , Destination , Conditionnement ). Lorsque j'ai sélectionné mes critères , le résultat s'affiche dans une list view . J'ai réussi à faire la recherche à partie d'un seul critères , mais je n'arrive pas à faire la recherche des plusieurs critères combinés.
L'idée que j'ai souhaité mettre en place est la suivante :
Si telle ou telle combox.Index est différentes de -1 alors tu rentre dans la boucle (Celle ci-dessous).
Si telle combobox est utilisé alors tu rajoute un bout de code dans la requete
Sinon tu laisse la requete comme elle est
(Idem pour les autres combo)

Une fois cela fait je fais ma requete SELECT toute les tables et je peche les infos donc j'ai besoin .
Cependant j'ai toujours des erreurs

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
else if (CatégorieRadiologique_ComboBox_Home.SelectedIndex != -1 | CodeEtatFS_ComboBox_Home.SelectedIndex != -1 | Producteur_ComboBox_Home.SelectedIndex != -1 | Centre_ComboBox_Home.SelectedIndex != -1 | StationDestination_ComboBox_Home.SelectedIndex != -1 | Conditionnement_ComboBox_Home.SelectedIndex != -1)
            {
                string REQUERY = "";
                string REQUERYSQL = "";
 
                string FSVAR = "AND FS=@FS ";
                string RADVAR = "AND Radiologique=@Radiologique  ";
                string ETATVAR = "AND Lib_Code_Etat=@Lib_Code_Etat  ";
                string PRODVAR = "AND Producteur=@Producteur ";
                string CENTREVAR = "AND Centre=@Centre ";
                string DESTIVAR = "AND Station_Destination=@Station_Destination ";
                string CONDIVAR = "AND Conditionnement=@Conditionnement ";
 
                if (FS_TextBox_Home.Text != "")
                {
                    REQUERY += FSVAR;
                }
                else if (CatégorieRadiologique_ComboBox_Home.SelectedIndex != 1)
                {
                    REQUERY = REQUERY + RADVAR;
                }
                else if (CodeEtatFS_ComboBox_Home.SelectedIndex != 1)
                {
                    REQUERY = REQUERY + ETATVAR;
                }
                else if (Producteur_ComboBox_Home.SelectedIndex != 1)
                {
                    REQUERY = REQUERY + PRODVAR;
                }
                else if (Centre_ComboBox_Home.SelectedIndex != 1)
                {
                    REQUERY = REQUERY + CENTREVAR;
                }
                else if (StationDestination_ComboBox_Home.SelectedIndex != 1)
                {
                    REQUERY = REQUERY + DESTIVAR;
                }
                else if (Conditionnement_ComboBox_Home.SelectedIndex != 1)
                {
                    REQUERY = REQUERY + CONDIVAR;
                }
                else
                {
                    REQUERY = REQUERYSQL;
                }
 
 
                MySqlCommand cmd = new MySqlCommand("SELECT FS , Radiologique , Lib_Code_Etat , Producteur , Centre , Station_Destination , Conditionnement " +
                    "FROM fiche " +
                    "JOIN ctg_rad ON fiche.ID_Rad = ctg_rad.ID_Rad " +
                    "JOIN etat ON fiche.Code_Etat = etat.Code_Etat  " +
                    "JOIN prod ON fiche.Code_Producteur = prod.Code_Producteur  " +
                    "JOIN site_centre ON fiche.Code_Centre = site_centre.Code_Centre " +
                    "JOIN station_destination ON fiche.Code_StationdeDestination = station_destination.Code_StationdeDestination " +
                    "JOIN statut_condition ON fiche.Code_Conditionnement = statut_condition.Code_Conditionnement WHERE " + REQUERYSQL, connection);                                              // Requète SQL SELECT
 
                cmd.Parameters.AddWithValue("@FS", FS_TextBox_Home.Text);          //Récupération du FS souhaité par l'utilisateur
                cmd.Parameters.AddWithValue("@Radiologique", CatégorieRadiologique_ComboBox_Home.Text);          //Récupération du ID_Rad souhaité par l'utilisateur
                cmd.Parameters.AddWithValue("@Lib_Code_Etat", CodeEtatFS_ComboBox_Home.Text);                                //Récupération du Code_Etat souhaité par l'utilisateur
                cmd.Parameters.AddWithValue("@Producteur", Producteur_ComboBox_Home.Text);                          //Récupération du Code_Producteur souhaité par l'utilisateur
                cmd.Parameters.AddWithValue("@Centre", Centre_ComboBox_Home.Text);                                  //Récupération du Code_Centre souhaité par l'utilisateur
                cmd.Parameters.AddWithValue("@Station_Destination", StationDestination_ComboBox_Home.Text);        //Récupération du Code_StationdeDestination souhaité par l'utilisateur
                cmd.Parameters.AddWithValue("@Conditionnement", Conditionnement_ComboBox_Home.Text);                      //Récupération du Code_Conditionnement souhaité par l'utilisateur
 
                if (Connecté)
                {
                    using (
                        MySqlDataReader Lire = cmd.ExecuteReader())
                    {
                        while (Lire.Read())  // Boucle While qui regarde toutes les infos que l'on souhaite voir avec la méthode "lire"
                        {
                            string FS = Lire["FS"].ToString();                                                              // Declaration des colonnes et leurs équivalents (remplacants)
                            string Radiologique = Lire["Radiologique"].ToString();
                            string Lib_Code_Etat = Lire["Lib_Code_Etat"].ToString();
                            string Producteur = Lire["Producteur"].ToString();
                            string Centre = Lire["Centre"].ToString();
                            string Station_Destination = Lire["Station_Destination"].ToString();
                            string Conditionnement = Lire["Conditionnement"].ToString();
 
                            LW_FS_Home.Items.Add(new ListViewItem(new[] { FS, Radiologique, Lib_Code_Etat, Producteur, Centre, Station_Destination, Conditionnement }));// Ajout des nouvelles valeurs dans la list view
 
                        }
                    }
                    connection.Close();
                }
                else
                {
                    MessageBox.Show("Erreur de connexion");
                    connection.Close();
                }
 
 
            }
MERCI BCP pour l'aide