Bonjour !

J'ai créé une base de données et j'ai créé un logiciel avec c# afin de m'y connecté et d'interagir avec.

J'ai créé une listview avec les éléments de ma base de données à l'intérieur, j'ai créé un bouton permettant d'ouvrir une nouvelle form afin d'ajouter une information en plus à un élément sélectionnée dans la listview.

Par exemple la requête sql va prendre en compte l'élément selectionné mais aussi les éléments des textbox de la deuxième form.

Pour être plus précis, Les éléments dans la listview sont des informations de véhicule(Marque, Modèle, Année, kilométrage, etc) lorsque que je clique sur un vehicule ça m'ouvre la deuxième form et à l'intérieur j'écris les coordonnées d'un client(nom, prenom, numero, adresse, date vente) ayant acheté le véhicule sélectionné auparavant.ce qui va faire que dans ma base de données le véhicule aura été acheté par le client.

Mon problème c'est que la requête que j'ai créé fonctionne bien lorsque je la rentre sur mysql, c'est sur c# que ça ne fonctionne pas, ça doit être mon code qui n'est pas bon mais je ne sais pas où ni comment faire, il ne prend pas en compte les informations sélectionnées dans ma listview je pense.

Auriez-vous un idée?

Merci.

Voici mon code:
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
 
public partial class Ajouter_Vente : Form
    {
 
        private concession _concession;  public Ajouter_Vente(concession concession)
        {
            InitializeComponent();
            _concession = concession;
        }
 
        MySqlConnection connexion;
 
        private void bt_ajouter_Click(object sender, EventArgs e)
        {
            using (concession concession =new concession())
            connexion = new MySqlConnection("DATABASE=Concession; SERVER=localhost; user id=root; pwd=root");
            connexion.Open();
            if (_concession.lv_vehicule.SelectedItems.Count > 0)
            {
                ListViewItem element = _concession.lv_vehicule.SelectedItems[0];
                string Kilometrage = element.SubItems[7].Text;
                string Date_CT = element.SubItems[8].Text;
                string Option_Vehicule = element.SubItems[9].Text;
                string Puissance_Fiscale = element.SubItems[10].Text;
 
                MySqlCommand commande = new MySqlCommand("INSERT INTO client (Nom, Prenom, Adresse, Numero) VALUES (@Nom, @Prenom, @Adresse, @Numero); INSERT INTO Client_Stock_Vente (Id_Client, Id_Stock, Date_Vente) VALUES ((SELECT Id_Client FROM Client WHERE Nom = @Nom AND Prenom = @Prenom AND Adresse = @Adresse AND         numero = @Numero), (SELECT Id_Stock FROM Stock WHERE Kilometrage = @Kilometrage AND Date_CT = @Date_CT AND Option_Vehicule = @Option_Vehicule AND Puissance_Fiscale = @Puissance_Fiscale), @Date_Vente);", connexion);
 
                commande.Parameters.AddWithValue("@Nom", tb_nom.Text);
                commande.Parameters.AddWithValue("@Prenom", tb_prenom.Text);
                commande.Parameters.AddWithValue("@Adresse", tb_adresse.Text);
                commande.Parameters.AddWithValue("@Numero", tb_numero.Text);
                commande.Parameters.AddWithValue("@Date_Vente", Convert.ToDateTime(tb_date_vente.Text).ToString("yyyy-MM-dd"));
 
                commande.Parameters.AddWithValue("@Kilometrage", Kilometrage);
                commande.Parameters.AddWithValue("@Date_CT", Date_CT);
                commande.Parameters.AddWithValue("@Option_Vehicule", Option_Vehicule);
                commande.Parameters.AddWithValue("@Puissance_Fiscale", Puissance_Fiscale);
 
 
                commande.ExecuteNonQuery();
                commande.Parameters.Clear();
                lb_vente.Text = "Véhicule vendu.";
            }
        }
    }