Ajouter dans une BDD a partir d'une listview

Résolu
SeeZix - 5 janv. 2019 à 21:45
SeeZix Messages postés 3 Date d'inscription dimanche 6 janvier 2019 Statut Membre Dernière intervention 8 janvier 2019 - 8 janv. 2019 à 18:01
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:

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 = "Vehciule vendu.";
}
}
}

2 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 5 janv. 2019 à 23:38
Bonjour
tu n'as toujours pas répondu à ta présente discussion : https://codes-sources.commentcamarche.net/forum/affich-10093237-erreur-parametre-d-index#p10093245
Au cas où le problème est solutionné utilises la roue dentée pour mettre ce "post en résolu" sans oublier de dire merci !

Question base de données je crains de ne pouvoir t'aider : je n'y connais rien dans ce domaine


0
SeeZix Messages postés 3 Date d'inscription dimanche 6 janvier 2019 Statut Membre Dernière intervention 8 janvier 2019
6 janv. 2019 à 12:58
Bonjour !
Je ne pense pas que ce soit au niveau de la base de données que ça plante, puisque lorsque je fais ma requête sur mysql y'a pas de problème, c'est dans c# je pense, j'ai l'impression qu'il ne prend pas en compte les items sélectionné dans la listview
Voici ma listview avec les items que j'ai besoin de récupérer
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
6 janv. 2019 à 19:23
As tu mis un point d'arrêt pour vérifier le contenu de tes extractions et de la commande?
0
SeeZix Messages postés 3 Date d'inscription dimanche 6 janvier 2019 Statut Membre Dernière intervention 8 janvier 2019
6 janv. 2019 à 20:06
Non qu'est-ce que c'est ?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
6 janv. 2019 à 22:37
0
SeeZix Messages postés 3 Date d'inscription dimanche 6 janvier 2019 Statut Membre Dernière intervention 8 janvier 2019
Modifié le 8 janv. 2019 à 18:10
Bonjour !
Je ne sais pas si c'est grâce à ça que j'ai vu l'erreur mais en tout cas je te remercie ! C'était une erreur de conversion dans ma Date_CT !
Merci encore d'avoir prêté attention à mon problème !
0
Rejoignez-nous