我正在尝试使用 WPF 和 C# 通过两个文本框将两个值插入 mysql 数据库。我成功连接到数据库,但是当我尝试插入数据时出现错误:列“user_name”不能为空。真正令人困惑的是我在第一个和第二个文本框中输入数据。似乎没有传递要插入文本框中的数据。我的问题是你知道问题出在哪里以及如何解决吗?
PS:我的数据库非常简单,包含 id 为 int16 自动递增,名称为 varchar100 和 user_password 为 varchar100
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection("host=tara.rdb.superhosting.bg;user=sozopouk;password=27051996;database=sozopouk_test2;");
MySqlDataAdapter da = new MySqlDataAdapter();
da.InsertCommand = new MySqlCommand("Insert into niki2 values (@id,@name, @user_password)", con);
da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar).Value = textBox1.Text;
da.InsertCommand.Parameters.Add("@user_password", MySqlDbType.VarChar).Value=textBox2.Text;
con.Open();
da.InsertCommand.ExecuteNonQuery();
con.Close();
}
伙计们,在我做了一些更改后,我收到了以下错误消息:
“字段列表”中的未知列“名称”
这是编辑后的代码:
private void button1_Click(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection("host=tara.rdb.superhosting.bg;user=sozopouk;password=27051996;database=sozopouk_test2;");
MySqlDataAdapter da = new MySqlDataAdapter();
da.InsertCommand = new MySqlCommand("INSERT INTO niki (name, user_password) VALUES (@name, @user_password)", con);
da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar).Value = textBox1.Text;
da.InsertCommand.Parameters.Add("@user_password", MySqlDbType.VarChar).Value=textBox2.Text;
con.Open();
da.InsertCommand.ExecuteNonQuery();
con.Close();
}
当我用 user_name 替换 name 并尝试插入数据时出现错误**“user_name”列不能为空**
受影响的线路是:
da.InsertCommand.ExecuteNonQuery();
你知道如何解决它吗?