-2

我有个问题。在我的课堂上,我将 product_ID 定义为 int32,将 product__price 定义为小数。当我必须使用文本框将数据保存在数据库中时,我不能这样做,它不能转换它或其他东西。如果可以,请你帮助我。谢谢你。

public Int32 Product_ID { get; set; }
public String Product_name { get; set; }
public String Product_category { get; set; }
public Decimal Product_price { get; set; }
public string image_location { get; set; }

Product product = new Product();

product.Product_ID = int.Parse(textBox1.Text);
product.Product_name = textBox2.Text;
product.Product_category = textBox3.Text;

product.Product_price = int.Parse(textBox4.Text);
product.image_location = textBox5.Text;


Product.Save(product);
4

2 回答 2

1

更正这一行:

product.Product_price = int.Parse(textBox4.Text);

product.Product_price = decimal.Parse(textBox4.Text);

最佳情况下,您应该首先检查文本框的内容(如果您还没有),以便您拥有正确的逗号、仅数字、try-catch 等。

于 2013-01-06T16:42:15.053 回答
1

您必须将其转换为小数而不是 int sinseproduct.Product_price是小数类型。类型必须始终匹配。

product.Product_price = Convert.ToDecimal(textBox4.Text);

或者

product.Product_price = decimal.Parse(textBox4.Text);

更新 这只是一个疯狂的猜测,但试试这个:

if(IsPostback)
{

    Product product = new Product();

    product.Product_ID = int.Parse(textBox1.Text);
    product.Product_name = textBox2.Text;
    product.Product_category = textBox3.Text;

    product.Product_price = Convert.ToDecimal(textBox4.Text);
    product.image_location = textBox5.Text;


    Product.Save(product);

}
于 2013-01-06T16:49:09.543 回答