База данных Sql не обновляется
я пытаюсь обновить таблицу с двумя составными первичными ключами, но она не обновляется.
Что я уже пробовал:
public void update(MOduleQuestion moduleq) { string mcode = moduleq.getModuleCode(); int QNo = moduleq.getQuestionNo(); string Question = moduleq.getQuestion(); string OPt1 = moduleq.getOP1(); string OPt2 = moduleq.getOP2(); string OPt3 = moduleq.getOP3(); string OPt4 = moduleq.getOP4(); string Answer = moduleq.getAnswer(); try { //string sql = "Update Module_Question SET Question='" + Question + "',Option1='" + OPt1 + "',Option2='" + OPt2 + "',Option3='" + OPt3 + "',Option4='" + OPt4 + "' WHERE MQ_Module_Code = '" + mcode + "' AND MQ_Module_No= '" + QNo + "' "; string sql = "Update Module_Question SET Question = @question, OPt1 = @opt1, OPt2 = @opt2, OPt3 = @opt3, OPt4 = @opt4, Answer = @answer WHERE MQ_Module_Code = @mcode and MQ_Question_No = @qno"; SqlCommand cmd = new SqlCommand(sql, m_con); cmd.CommandType = System.Data.CommandType.Text; cmd.Parameters.AddWithValue("@mcode", mcode); cmd.Parameters.AddWithValue("@qno", QNo); cmd.Parameters.AddWithValue("@question", Question); cmd.Parameters.AddWithValue("@opt1", OPt1); cmd.Parameters.AddWithValue("@opt2", OPt2); cmd.Parameters.AddWithValue("@opt3", OPt3); cmd.Parameters.AddWithValue("@opt4", OPt4); cmd.Parameters.AddWithValue("@answer", Answer); //SqlCommand cmd = new SqlCommand(sql, m_con); m_con.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("Question Record Updated Successfully", "lecture Reg System", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (SqlException) { MessageBox.Show("Cannot Update", "lecture Reg System", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { m_con.Close(); // connection close } }
[no name]
Вы хотите добавить значение AddWithValue для ваших параметров
CHill60
Да , этого достаточно.
Member 13049972
поэтому я должен ввести AddWithValue Module_Question SET Question =.... врать это?
[no name]
Нет.... cmd. параметры.AddWithValue ("@mcode", mcode);
Вы можете многому научиться, читая документацию, просто говоря.
Karthik_Mahalingam
вы получаете какую-нибудь ошибку?
Member 13049972
я пытаюсь обновить, это другой код, но он не работает, можете ли вы показать мне, как я пишу свой код для обновления.
Karthik_Mahalingam
я имею в виду, вы получаете какую-нибудь ошибку?
Member 13049972
это дает исключение catch
Karthik_Mahalingam
проверьте это то, что вы получаете
catch (SqlException ex)
{
функции MessageBox.выставка(экс.Сообщение )
Member 13049972
catch (SqlException)
{
Ящик для сообщений.Show ("не удается обновить"," лекция Reg System", MessageBoxButtons.Хорошо, MessageBoxIcon.Информация);
}
им становится не окно сообщения, обновить
Karthik_Mahalingam
catch (SqlException ex)
{
Ящик для сообщений.Показать (например, сообщение);
}
теперь проверить
Member 13049972
Да! это работает :), не могли бы вы объяснить мне, что произошло ?
Karthik_Mahalingam
хорошо, что это за сообщение об ошибке?
Member 13049972
никаких сообщений об ошибках теперь он работает