在更新期间执行命令时遇到致命错误

本文关键字:遇到 致命错误 命令 执行 更新 | 更新日期: 2023-09-27 17:49:46

我使用此代码来更新文本框中的数据。。。这个代码在更新按钮中,一旦我做出更改并点击按钮,错误消息就会出现

        try
        {
            MySqlConnection connection = new MySqlConnection(MyConnectionString);
            MySqlCommand cmd;
            connection.Open();
            cmd = connection.CreateCommand();
            cmd.CommandText = "UPDATE student_info SET SEM = @SEM, STUDENT_NO = @STUDENT_NO, LASTNAME = @LASTNAME" +
            ", FIRSTNAME = @FIRSTNAME, MIDDLENAME = @MIDDLENAME, CITY = @CITY, STREET = @STREET, GENDER = @GENDER" +
            ", COURSE = @COURSE, YEAR = @YEAR, SECTION = @SECTION, BIRTHDAY = @BIRTHDAY  Where STUDENT_NO = @STUDENT_NO";
            cmd.Parameters.AddWithValue("@SEM", sem_combo.Text);
            cmd.Parameters.AddWithValue("@STUDENT_NO", studentNo_txt.Text);
            cmd.Parameters.AddWithValue("@LASTNAME", lname_txt.Text);
            cmd.Parameters.AddWithValue("@FIRSTNAME", fname_txt.Text);
            cmd.Parameters.AddWithValue("@MIDDLENAME", mname_txt.Text);
            cmd.Parameters.AddWithValue("@CITY", address_txt.Text);
            cmd.Parameters.AddWithValue("@STREET", street_txt.Text);
            cmd.Parameters.AddWithValue("@GENDER", gender_combo.Text);
            cmd.Parameters.AddWithValue("@COURSE", program_combo.Text);
            cmd.Parameters.AddWithValue("@YEAR", yr_combo.Text);
            cmd.Parameters.AddWithValue("@SECTION", section_combo.Text);
            cmd.Parameters.AddWithValue("@BIRTHDAY", bday.Text);
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
            cmd.CommandText = "UPDATE contacts SET EMAIL = @EMAIL, CELL_NO = @CELL_NO Where STUDENT_NO = @STUDENT_NO";
            cmd.Parameters.AddWithValue("@EMAIL", email_txt.Text);
            cmd.Parameters.AddWithValue("@CELL_NO", contact_txt.Text);
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

在更新期间执行命令时遇到致命错误

检查此行

            cmd.Parameters.Clear();
            cmd.CommandText = "UPDATE contacts SET EMAIL = @EMAIL,
            CELL_NO = @CELL_NO Where STUDENT_NO = @STUDENT_NO";
            cmd.Parameters.AddWithValue("@EMAIL", email_txt.Text);
            cmd.Parameters.AddWithValue("@CELL_NO", contact_txt.Text);
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();

更改为

            cmd.Parameters.Clear();
            cmd.CommandText = "UPDATE contacts SET EMAIL = @EMAIL,
            CELL_NO = @CELL_NO Where STUDENT_NO = @STUDENT_NO";
            cmd.Parameters.AddWithValue("@EMAIL", email_txt.Text);
            cmd.Parameters.AddWithValue("@CELL_NO", contact_txt.Text);
            cmd.Parameters.AddWithValue("@STUDENT_NOL",studentNo_txt.Text);
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();

您可以清除参数,但之后使用@STUDENT_NO参数。此参数在清除其他参数后不声明任何位置