Member 13037527 Ответов: 1

После обновления SQL databse datafile C# говорит, что он обновляется. Я проверил файл данных SQL. Он не обновляется


Вот мой код. кто-нибудь может сказать, что и где я напутал.

con = new SqlConnection(@"Data Source=.\SQL2016;Initial Catalog=inventoryDB;Integrated Security=True");
con.Open();//opened connection
//here updating records and saving to my sql datafile.
cmd = new SqlCommand("UPDATE itemDB SET brname=@label16, itmname=@label4, itmunit=@label6, itmgr=@label14 ,itmmrp=@label2, itmbyp=@label9,itmdlrp=@label10, itmtx=@label8, itmdlrmrg=@label12, itmrtmrg=@label13, itmusrcode=@label7, active=@label3 WHERE itmcode=@label17", con);
cmd.Parameters.Add("@label16", ncombobrnd.GetItemText(ncombobrnd.SelectedIndex));
int num = 0;
MessageBox.Show(num.ToString());
cmd.Parameters.Add("@label4", itemname.Text);
cmd.Parameters.Add("@label6", combouom.GetItemText(combouom.SelectedItem));
cmd.Parameters.Add("@label14", itemkgs.Text);
cmd.Parameters.Add("@label2", itemmrp.Text);
cmd.Parameters.Add("@label9", itembrp.Text);
cmd.Parameters.Add("@label10", itemslp.Text);
cmd.Parameters.Add("@label8", itemtax.Text);
cmd.Parameters.Add("@label12", itemdlmargin.Text);
cmd.Parameters.Add("@label13", itemretailmargin.Text);
cmd.Parameters.Add("@label7", itemcode.Text);
cmd.Parameters.Add("@label3", status);
cmd.Parameters.Add("@label17", recbox.Text);
cmd.ExecuteNonQuery();
combobrand.SelectedIndex = -1;
combouom.SelectedIndex = -1;
comboactive.SelectedIndex = -1;
itemname.Text = "";
itemunit.Text = "";
itemkgs.Text = "";
itemltrs.Text = "";
itemtax.Text = "";
itemmrp.Text = "";
itembrp.Text = "";
itemslp.Text = "";
itemtax.Text = "";
itemdlmargin.Text = "";
itemretailmargin.Text = "";
itemcode.Text = "";
MessageBox.Show("Record Updated", "Updated", MessageBoxButtons.OK, MessageBoxIcon.Information);
con.Close();
dataGridView1.Rows.Clear();
dataload(); // to refresh the data and display i


Что я уже пробовал:

Я пытался решить эту проблему, но у меня ничего не вышло. Я не знаю, какую ошибку я совершил и где.

Afzaal Ahmad Zeeshan

Почему он не обновляется?

Попробуйте отладить приложение и посмотрите, почему это не так. Мы понятия не имеем, как это проверить, поскольку у нас нет доступа к системе.

1 Ответов

Рейтинг:
1

Jochen Arndt

Он говорит вам, что он был обновлен, потому что вы показываете окно сообщения с этим сообщением. Но вы не проверили, было ли обновление успешным.

Для этого проверьте Свойство sqlcommand.Метод ExecuteNonQuery (System. Data.SqlClient)[^] возвращает значение, указывающее, сколько строк было затронуто.

Я предполагаю, что в вашем случае это возвращает ноль.

Есть что-то подозрительное:
Вы выбираете выбор записи по itemcode ("WHERE itmcode=@label17") но передача параметров с другим именем:

cmd.Parameters.Add("@label7", itemcode.Text);
cmd.Parameters.Add("@label17", recbox.Text);
Я ожидал бы этого @label17 было задано значение itemcode.

Если это не является источником вашей ошибки, вы должны покопаться в своем запросе и проверить, является ли он действительным. Но только вы можете это сделать, потому что у нас не было вашей базы данных.