[英]Error in MySqlCommand: program doesn't work right
我有這個代碼:
private void FormProduction_FormClosed(object sender, FormClosedEventArgs e)
{
if (name != string.Empty && school != string.Empty)
{
if (id == -1)
{
MySqlConnection conn = new MySqlConnection(connStr);
MySqlCommand cmd = new MySqlCommand("INSERT Person(Name, School) VALUES (name, school)", conn);
conn.Open();
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@school", school);
cmd.ExecuteNonQuery();
conn.Close();
}
else
{
MySqlConnection conn = new MySqlConnection(connStr);
MySqlCommand cmd = new MySqlCommand("UPDATE Person SET Name=name, School=school WHERE Id=id", conn);
conn.Open();
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@school", school);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
conn.Close();
}
Administration.fill();
}
}
當我執行程序(任何插入和任何更新)時,我的表 Person 不會改變。 哪里出錯了?
希望這可以幫到你:
private void FormProduction_FormClosed(object sender, FormClosedEventArgs e)
{
if (name != string.Empty && school != string.Empty)
{
if (id == -1)
{
using MySqlConnection conn = new MySqlConnection(connStr);
using MySqlCommand cmd = new MySqlCommand("INSERT Person(Name, School) VALUES (@name, @school)", conn);
conn.Open();
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@school", school);
cmd.ExecuteNonQuery();
conn.Close();
}
else
{
using MySqlConnection conn = new MySqlConnection(connStr);
using MySqlCommand cmd = new MySqlCommand("UPDATE Person SET Name=@name, School=@school WHERE Id=@id", conn);
conn.Open();
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@school", school);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
conn.Close();
}
Administration.fill();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.