我创建了一个应用程序,其中我为产品代码键入的内容基于数据库。
但是我有一个问题,当数据库中的产品代码与我输入的不匹配时。它给了我错误:
Input string was not in a correct format
它指出:
price = Convert.ToDecimal(this.numericTextBox2.Text);
假设我在数据库中有这样的数据:
+-------------+-------------+------------+ | 产品编号 | 说明 | 小计 | +-------------+-------------+------------+ | SM0001 | 测试 | 50000 | +-------------+-------------+------------+
当我在程序中尝试并在Product Code中键入“SM0002”时,显示了错误。
注意:在程序中键入“产品代码”时,会显示程序中属于该“产品代码”的所有信息
这是必要的代码:
private void textBox_TextChanged(object sender, EventArgs e)
{
UpdatePrice(sender, e);
}
private void UpdatePrice(object sender, EventArgs e)
{
decimal quantity = 0;
decimal price = 0;
int total = 0;
if (numericTextBox1.TextLength == 6)
{
this.numericUpDown1.Enabled = true;
quantity = Convert.ToInt32(this.numericUpDown1.Value);
price = Convert.ToDecimal(this.numericTextBox2.Text);
total = Convert.ToInt32(quantity * price);
if (numericUpDown1.Value > 0)
{
this.numericTextBox3.Text = total.ToString();
}
}
}
有谁知道如何解决这个问题?
NumericTextBox1 是我放入Product Code的文本框。
在我上面的代码中,程序显示6 个字母price
时基于数据库的其余部分。Product Code
但是,当程序找不到price
基于 的内容时Product Code
,它给出了错误。当Product Code
命中 6 个字母时,程序会检查product code
输入的 是否与数据库匹配,如果匹配,程序会根据输入的 显示所有信息product code
。
编辑:
程序仍然认识到,price
只要输入的product code
(numericTextBox1.Text)等于 6,就必须显示。当我输入时,SM0001
它没有显示错误,因为里面price
有SM0001
. 但是当我尝试SM0002
在数据库中输入没有数据但numericTextBox1.Text
等于 6 时,程序被迫显示一个price
不price
属于输入的product code
数据(SM0002)..
我想要的是当numericTextBox1.Text
等于6个字母时,它会查看数据库中的信息,如果product code
与数据库相同(匹配),程序将显示属于该代码的其余信息<--这已经完成并解决了..
当我SM0002
输入数据库中没有数据时,它给出了错误。
当 numericTextBox1 达到 6 个字母时,numericTextBox2 就会出来。当 numericTextBox1 与数据库匹配时,它将显示所有信息。现在,我的问题是 numericTextBox1 与数据库不匹配时,它给出了错误