davz_11
davz_11

Reputation: 145

fatal error encountered during command execution during update

i use this code to update data that are in the textboxes... this code is in the update button and once i made the changes and clicked the button the error message appears

        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);
        }

Upvotes: 1

Views: 3666

Answers (1)

Sathish
Sathish

Reputation: 4487

Check in This Line

            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();

Change To

            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();

you are clear the parameters, but after that use @STUDENT_NO parameter. This parameter is not declare any where after clear ther parameters

Upvotes: 2

Related Questions