Atul Rokade Ответов: 2

Запрос обновления не выполнен должным образом


Всем привет,

Я делаю одну задачу, где я хочу выполнить запрос обновления у меня есть имя таблицы Medicine_Available_Detail здесь я храню общее количество доступных лекарств имя столбца доступность,у меня есть один datagridview, где я ставлю количество этого лекарства после того, как пользователь вводит количество конкретного лекарства, а затем его обновление таблицы как доступность-количество для этого лекарства я написал код, но его не выполнили

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

int quantity = Convert.ToInt16(dataGridView1.Rows[e.RowIndex].Cells["Quantity"].Value);

                            cmd = new OleDbCommand(@"update Medicine_Available_Detail set [Availability]=[Availability]-@Quantity where Medicine_Name=@Medicine_Name", con);
                            cmd.Parameters.AddWithValue("@Quantity", quantity);
                            cmd.Parameters.AddWithValue("@Medicine_Name", medicinename);

con.Open();
                            int n = cmd.ExecuteNonQuery();
                            con.Close();
                            MessageBox.Show("Record Updated Successfully");

Richard MacCutchan

Почему вы показываете "Запись Успешно Обновлена" когда вы понятия не имеете, удалось это или нет?

NotPolitcallyCorrect

Что значит "не исполнено"?
Параметры в доступе подставляются ? в строке запроса
Почему вы показываете сообщение "успех", когда вы не проверили, действительно ли это было успешно?

Atul Rokade

для целей тестирования я сделал но раньше код выполнялся как ожидалось но теперь не понимаю где я сделал ошибку

Richard MacCutchan

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

Richard MacCutchan

Жаль, что у меня нет 1 фунта за каждый раз, когда я вижу, как люди делают это.

Atul Rokade

Извините я трачу ваше драгоценное время я проверю и отправлю ответ как только еще раз извинюсь

NotPolitcallyCorrect

Жаль, что у меня нет одного на каждое "не работает", которое мы здесь видели.

Richard MacCutchan

Нет, ты зря тратишь время. твой время.

Ставить такой код для тестирования вашего приложения - просто плохая идея. Весь смысл тестирования заключается в том, чтобы найти ошибки в вашем коде. Поэтому, если вы игнорируете ошибки в тестировании, они просто сидят там, ожидая выпуска продукта, и в это время они вызывают абсолютный хаос.

Karthik_Mahalingam

что такое сообщение об ошибке

2 Ответов

Рейтинг:
1

Asmita Bhurke

Прежде всего, чтобы узнать, обновляется ли какая-либо строка или нет, проверьте значение вашей переменной

n

если он равен 0, это означает, что ни одна запись не соответствует критериям, которые вы определяете для обновления.
Так что проверьте значение varible
medicinename
в вашей таблице существует на не.

Это все, что вы можете предложить, посмотрев на свой код.


Рейтинг:
1

Atul Rokade

Привет вот найти решение я использую два cmd.Метод executenonquery();его работает нормально для меня ,dataGridView1_RowLeave событие я написал 3 запроса на вставку и обновление запроса и только один метод executenonquery, а не через одного казнить без запроса я написал две самостоятельные executenonquery с другой переменной

  cmd = new OleDbCommand("update Medicine_Available_Detail set [Availability]=[Availability]-@Quantity where [Medicine_Name]=@Medicine_Name", con);
                            cmd.Parameters.AddWithValue("@Quantity", quantity);
                            cmd.Parameters.AddWithValue("@Medicine_Name", medicinename);
con.Open();

                            int n1 = cmd.ExecuteNonQuery();
con.Close();