Je ne parviens pas à me connecter et à ajouter les éléments à ma base de donnée avec le code ci-dessous. Cela fait un moment que je planche dessus mais j'ai un problème au niveau du : cmd.ExecuteNonQuery();, bien que le code ne semble comportait aucune erreur d'après les indications sur VisualStudio.
Si une âme charitable pouvait m'aider, je vous en remercie :)
Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
Voici le code en question:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingMySql.Data.MySqlClient;namespaceProjet_BTS_AppFinal
{
public partial classBTS : Form
{publicBTS(){InitializeComponent();}MySqlConnectioncn;bool Connecté = false;
private voidbutton1_Click(objectsender,EventArgse){if(button1.Text =="Se connecter"){
cn =newMySqlConnection("SERVER=localhost;PORT=3306;DATABASE=portique;UID=root;PWD=23021998;");
try
{if(cn.State == ConnectionState.Closed){ cn.Open();}//tenter d'ouvrir la connexion a la base donnée
button1.Text ="Se déconnecter";
Connecté = true;}catch(Exceptionex){ MessageBox.Show(ex.Message);}}else//se déconnecter{
cn.Close();
button1.Text ="Se connecter";
Connecté = false;}}
private voidbutton2_Click(objectsender,EventArgse){if(textBox1.Text ==""){
MessageBox.Show("entrez un numéro EPC.");}elseif(textBox2.Text ==""){
MessageBox.Show("Entrez un nom.");}elseif(textBox3.Text ==""){
MessageBox.Show("Entrez le nom du fabriquant.");}elseif(textBox4.Text ==""){
MessageBox.Show("Entrez le prix.");}elseif(textBox5.Text ==""){
MessageBox.Show("Entrez la quantité de produit.");}else{if(Connecté){MySqlCommandcmd =newMySqlCommand("INSERT INTO portique(Numero, Nom, Fabriquant, Prix, Stock) VALUES(@Numero,@Nom,@Fabriquant,@Prix,@Stock)");
cmd.Parameters.AddWithValue("@Numero", textBox1.Text);
cmd.Parameters.AddWithValue("@Nom", textBox2.Text);
cmd.Parameters.AddWithValue("@Fabriquant", textBox3.Text);
cmd.Parameters.AddWithValue("@Prix", textBox4.Text);
cmd.Parameters.AddWithValue("@Stock", textBox5.Text);
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
MessageBox.Show("Ajouté.");}else{
MessageBox.Show("vous n'êtes pas connecté à la base de données");}}}}}
Salut !
Tu peux modifier cette ligne en écrivant ceci :
MySqlCommand cmd = new MySqlCommand("INSERT INTO portique VALUES(@Numero,@Nom,@Fabriquant,@Prix,@Stock)",con);
10 juin 2021 à 12:23
10 juin 2021 à 12:51
11 juin 2021 à 12:38