Как сделать так, чтобы номер детали и количество отображали правильное значение в правильном текстовом поле ?
Я сделал производственную форму и цели, когда я сканирую ее с помощью считывателя штрих-кодов, она должна появиться в текстовых полях, соответствующих штрих-кодам. Он также будет производить детали. Когда я запустил его, EmpID соответствует штрих-коду, но не отображает имя сотрудника. Как только я сканирую штрих-код для номера детали "P" появился в тексте и "1-1" появился в текстовом поле количества, которое он не должен, то появляется сообщение о том, что входная строка не в правильном формате.
это мой код.:
private void txtEmpID_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { txtPartNumber.Focus(); } } private void txtPartNumber_KeyPress(object sender, KeyPressEventArgs e) { txtQuantity.Focus(); } private void txtQuantity_KeyPress(object sender, KeyPressEventArgs e) { try { if (e.KeyChar == (char)Keys.Enter) { SQLInventoryClass MySQL = new SQLInventoryClass(); int Quantity = int.Parse(txtQuantity.Text); lb1PartName.Text = MySQL.GetPartName(txtPartNumber.Text); if (txtPartNumber.Text == "p1-1" || txtPartNumber.Text == "p1-2" || txtPartNumber.Text == "p1-3" || txtPartNumber.Text == "p1-4") { MySQL.AddInventory(txtPartNumber.Text, Int32.Parse(txtQuantity.Text), txtEmpID.Text); lb1Status.Text = txtPartNumber.Text + " added "; } // Manufacture a p2-1 else if (txtPartNumber.Text == "p2-1") { int numPart1 = MySQL.GetQuantity("p1-1"); int numPart2 = MySQL.GetQuantity("p2-1"); if (numPart1 >= Quantity && numPart2 >= Quantity * 2) { MySQL.RemoveInventory("p1-1", 1 * Quantity, txtEmpID.Text); MySQL.RemoveInventory("p1-2", 2 * Quantity, txtEmpID.Text); MySQL.AddInventory("p2-1", 1 * Quantity, txtEmpID.Text); lb1Status.Text = "Quantity of " + txtQuantity.Text + " added with part number " + txtPartNumber.Text; txtEmpID.Text = ""; txtPartNumber.Text = ""; txtQuantity.Text = ""; txtEmpID.Focus(); } else { lb1Status.Text = "Error: not enough parts in inventory of manufacture parts."; } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Что я уже пробовал:
Я попытался погуглить эту проблему, я рано написал своему инструктору по электронной почте, но ответа не получил. Я воспользовался отладчиком и перешагнул через код.
Gerry Schmitz
Вы сказали много, но не то, что на самом деле сообщает считыватель штрих-кодов. Вы "пуленепробиваемый" процесс считывания штрих-кодов; только тогда вы начинаете беспокоиться о текстовых полях, SQL и остальном. Протоколирование всего, что сообщает считыватель штрих-кодов, было бы хорошим началом.
kumih101
на самом деле, мой инструктор отправил нам считыватель штрих-кодов, так что я уже прошел через этот процесс, я просто пытаюсь понять, почему он продолжает говорить: "входная строка не является правильным форматом?
BillWoodruff
как вы думаете, почему ваш инструктор не ответил ? вы ставили точки останова и в один шаг просматривали код, чтобы узнать, где происходит ошибка ?
kumih101
Да, я понял проблему, это было потому, что я не поставил утверждение if