不能将类型字符串隐式转换为 int.(在 product.price 中),后者在 db 中是 int

本文关键字:int price 中是 db product 字符串 类型 转换 不能 | 更新日期: 2023-09-27 18:28:02

private Product CreateProduct()
{
    Product product = new Product();
    product.Name = txtName.Text;
    ***product.Price = txtPrice.Text;***  
    product.TypeId = Convert.ToInt32(ddlType.SelectedValue);
    product.Description = txtDescription.Text;
    product.Image = ddlImage.SelectedValue;
    return product;
}

price的数据类型在 db 中int,这里给出product.Price = txtPrice.Text;错误:

不能将类型字符串隐式转换为 int。

请告诉我是否必须转换它或更改 db 中的数据类型。

不能将类型字符串隐式转换为 int.(在 product.price 中),后者在 db 中是 int

使用Convert.ToInt32来转换它。 像这样:

product.Price = Convert.ToInt32(txtPrice.Text); 

它将字符串值转换为 32 位有符号整数。

转换它或更改数据库中的类型。

它的调用归结为应用程序所需的内容。如果您期望多位数的价格,即 0.49、100,02、59,45 等,我会使用文本或浮点数。

如果您确定要接受整数,那么只需将输入转换为整数即可。