Meine if else-Anweisung nicht brechen, wenn ein Artikel nicht genügend Menge hat. Es zeigt an, dass es nicht genug Quantität hat, aber fährt fort und als Folge wird seine Quantität negativ.Kann nicht beenden/brechen, wenn sonst Anweisung
Zum Beispiel. Produkt A hat eine Menge von 20 in der Datenbank. In der Verkaufsstelle habe ich versucht, 25 zu verkaufen. Es zeigt "ungenügende Quantität" an, aber zieht noch die Quantität ab, also wird die Quantität -5. Ich möchte, dass es aufhört, wenn es "nicht genügend Menge" sagt.
Dies ist mein Code
private void btnAddcart_Click(object sender, EventArgs e)
{
if (!validateProduct())
{
return;
}
else
{
ShowMyDialogBox();
}
if (!alreadyincart())
{
return;
}
else
{
int str, qty;
str = Convert.ToInt32(storeqty.Text);
qty = Convert.ToInt32(quantity.Text);
temporaryquantity.Text = str.ToString();
if (str < qty || str == 0)
{
MessageBox.Show("Insufficient Stock", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
//its supposed to stop here but its still subtracting the
// quantity from the product
}
else
{
qty = Convert.ToInt32(quantity.Text);
unitprice = Convert.ToDouble(dgvPOSproduct.CurrentRow.Cells[6].Value.ToString());
totalprice = qty * unitprice;
unittotal.Text = totalprice.ToString("0.00");
addData
(
dgvPOSproduct.CurrentRow.Cells[0].Value.ToString(), //prod id
dgvPOSproduct.CurrentRow.Cells[1].Value.ToString(), //brand
dgvPOSproduct.CurrentRow.Cells[4].Value.ToString(), //dosage
dgvPOSproduct.CurrentRow.Cells[6].Value.ToString(), //qty
quantity.Text,
unittotal.Text,
dgvPOSproduct.CurrentRow.Cells[7].Value.ToString(),
dgvPOSproduct.CurrentRow.Cells[8].Value.ToString()
);
}
int dgvPOSquantity = Convert.ToInt32(dgvPOSproduct.CurrentRow.Cells[5].Value.ToString());
int dgvnewquantity;
dgvnewquantity = dgvPOSquantity - qty;
dgvPOSproduct.CurrentRow.Cells[5].Value = dgvnewquantity;
discountremoveitem();
}
}
Es gibt keine Schleife in der codierten ist geschrieben Sie. Auch wenn es einen Fehler zurückgibt, erklären Sie dann, welcher Fehler –
Wie andere bemerkt haben, müssen Sie uns die Schleife zeigen, also können wir sehen, wie man ausbricht. Überprüfe das Offensichtliche: hast du eine 'break;' - Anweisung an dem Punkt versucht, an dem du ausbrechen willst? – dave
Was meinst du mit der * if else Anweisung nicht zu brechen *? Wenn in das if oder das else, aber nicht beide abhängig von den Bedingungen gehen –