簡體   English   中英

MySqlCommand 中的錯誤:程序無法正常工作

[英]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 不會改變。 哪里出錯了?

希望這可以幫到你:

有關MySQL 參數化查詢的更多信息(官方文檔)

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM