-2

私は問題があります。私のクラスでは、product_ID を int32 として、product__price を 10 進数として定義しました。テキストボックスを使用してデータベースにデータを保存する必要がある場合、変換できません。できれば助けてください。ありがとうございました。

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 の代わりに 10 進数に変換する必要がありproduct.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 に答える