Я столкнулся с ошибкой nullreferenceexception в настольном приложении C#
Я буду краток, я делаю простое настольное приложение C# для продуктового магазина. И вот, в моей задаче, сценарий таков::
если пользователь упоминает количество, которое меньше количества в запасе, приложение выполняет вычисления; и если пользователь запрашивает количество, которое больше количества в текущем запасе, то программа уведомляет пользователя, что это так, и вы все еще хотите продолжить? если да: приложение выполняет те же вычисления; а если нет, то приложение не выполняет и не очищает текстовые поля.
все сценарии работают нормально, за исключением блока "да". если говорит система.Исключение NullReferenceException: объекта не задана ссылка на экземпляр объекта. И ссылается на строку: 708. (Я вставил код ниже). Эта строка является точной копией той же самой строки, что и в блоке IF. Но там все работает нормально, а здесь-нет. Интересно, почему?
if (data.Rows.Count > 0) { quantity = Convert.ToInt32(data.Rows[0]["item_stock_qty"]); } if (quantity>=Convert.ToInt32(txtBoxQuantity.Text)) { AddDataToGridView1((++srNo).ToString(), comboBoxItems.SelectedItem.ToString(), txtBoxUnitPrice.Text.ToString(), txtBoxDiscountPerItem.Text.ToString(), txtBoxQuantity.Text.ToString(), txtBoxSubTotal.Text.ToString(), txtBoxTax.Text.ToString(), txtBoxTotalCost.Text.ToString()); ResetControls(); CalculateFinalCost(); } else { DialogResult dialogResult= MessageBox.Show("The remaining stock of this item is "+quantity+ " item/s. Do you still want to Continue?", "Low Stock", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if(dialogResult== DialogResult.Yes) {//below is line 708 AddDataToGridView1((++srNo).ToString(), comboBoxItems.SelectedItem.ToString(), txtBoxUnitPrice.Text.ToString(), txtBoxDiscountPerItem.Text.ToString(), txtBoxQuantity.Text.ToString(), txtBoxSubTotal.Text.ToString(), txtBoxTax.Text.ToString(), txtBoxTotalCost.Text.ToString()); ResetControls(); CalculateFinalCost(); } else if(dialogResult== DialogResult.No) { ResetControls(); } else { } } } catch(Exception ex) { MessageBox.Show(ex.ToString()); }
Что я уже пробовал:
I have been trying to solve this problem sleeplessly but haven't been able to do so. please help. Thank you