Ajouter dans une BDD a partir d'une listview [Résolu]

- - Dernière réponse : SeeZix
Messages postés
3
Date d'inscription
dimanche 6 janvier 2019
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.";
}
}
}
Afficher la suite 

Votre réponse

2 réponses

Messages postés
1745
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
5 janvier 2019
59
0
Merci
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


SeeZix
Messages postés
3
Date d'inscription
dimanche 6 janvier 2019
Dernière intervention
8 janvier 2019
-
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
Commenter la réponse de vb95
Messages postés
12525
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 janvier 2019
753
0
Merci
As tu mis un point d'arrêt pour vérifier le contenu de tes extractions et de la commande?
SeeZix
Messages postés
3
Date d'inscription
dimanche 6 janvier 2019
Dernière intervention
8 janvier 2019
-
Non qu'est-ce que c'est ?
Whismeril
Messages postés
12525
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 janvier 2019
753 -
SeeZix
Messages postés
3
Date d'inscription
dimanche 6 janvier 2019
Dernière intervention
8 janvier 2019
-
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 !
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.