Comment insérer,supprimer,sélectionner,mettre à jour les valeurs dans datagridview en C# à l'aide de MYSQL
Ci-dessous est le code à insérer la valeur dans la base de données mysql, en utilisant datagridview.
Mais le selectcommand est de travail.Il n'est pas le cas puisque j'obtiens le message d'erreur indiquant "Colonne" nom d'utilisateur " ne peut pas être null ".
Cette erreur ne se déclenche pas si j'utilise la base de données ms access.
Quelqu'un peut-il m'aider sur ce point. est-il une autre méthode pour le faire.
private void button1_Click(object sender, EventArgs e)
{ //Even using functions we can easily update the datagridview
//Select_function();
try
{ //The container which displays the details.
dataGridView1.Visible = true;
//The binding object which binds the datagridview with backend.
BindingSource bs = new BindingSource();
//The datatable through which data is exported to datagridview
table = new DataTable();
bs.DataSource = table;
this.dataGridView1.DataSource = bs;
MySqlConnection conn = new MySqlConnection(db);
conn.Open();
string s = "select *from user";
cmd = new MySqlCommand(s, conn);
da = new MySqlDataAdapter();
da.SelectCommand = new MySqlCommand(s, conn);
//There is issue in below sytax of insert command.
MySqlCommand insertcommand = new MySqlCommand("insert into user(username,password) values(@username ,@password)", conn);
insertcommand.Parameters.Add("username",MySqlDbType.VarChar,50,"username");
insertcommand.Parameters.Add("password", MySqlDbType.VarChar, 50, "password");
da.InsertCommand = insertcommand;
//Demonstrates update command
MySqlCommand updatecommand = new MySqlCommand("update user set username=@username,password=@password where (username=@username)", conn);
updatecommand.Parameters.Add("@username", MySqlDbType.VarChar, 50, "username");
updatecommand.Parameters.Add("@password", MySqlDbType.VarChar, 50, "password");
da.UpdateCommand = updatecommand;
//Demonstration of delete Command
MySqlCommand deletecommand = new MySqlCommand("delete from user where username=@username", conn);
deletecommand.Parameters.Add("@username", MySqlDbType.VarChar, 50, "username");
da.DeleteCommand = deletecommand;
da.Fill(table);
conn.Close();
}
catch (Exception err) { MessageBox.Show(err.Message); }
}
private void button2_Click(object sender, EventArgs e)
{ da.Update(table);
}
Vous devez vous connecter pour publier un commentaire.
Je suis assez incertaine, mais n'a pas de mysql utiliser les paramètres numérotés avec un "?"-synatx ou de paramètres nommés avec un ": "la syntaxe au lieu de (mssql), à la syntaxe ?
Quelque chose comme :
ou
Je pense que vous avez besoin de changer les noms des paramètres ajoutés à la commande insert de faire correspondre les noms spécifiés dans la notice d'instruction SQL.
Essayer:
Eu un problème similaire, la mise à jour de mysql avec datagrid (vb.net). Résolu avec: