c# - ASP.NET 将数据类型 nvarchar 转换为数字时出错

标签 c# asp.net

我正在尝试将产品详细信息插入到我的产品表中进行存储,然后从中选择以显示

我已经试过了

cmd.Parameters.AddWithValue("ProdPrice", Convert.ToInt32(txtProdPrice.Text));

cmd.Parameters.AddWithValue("ProdPrice", decimal.Parse(txtProdPrice.Text));

cmd.Parameters.AddWithValue("prodStock", int.Parse(txtProdStock.Text));

产品表

CREATE TABLE [dbo].[Product] (
    [ProdID]    INT             IDENTITY (1, 1) NOT NULL,
    [ProdName]  NVARCHAR (50)   NOT NULL,
    [ProdPrice] DECIMAL (18, 2) NULL,
    [ProdDesc]  NVARCHAR (MAX)  NULL,
    [ImageName] NVARCHAR (255)  NULL,
    [Size]      INT             NULL,
    [ImageData] VARBINARY (MAX) NULL,
    [ProdBrand] NVARCHAR (50)   NULL,
    [ProdStock] INT             NULL,
    PRIMARY KEY CLUSTERED ([ProdID] ASC)

.ASPX.CS 代码

string cs = ConfigurationManager.ConnectionStrings["DataBase"].ConnectionString;
            using (SqlConnection con = new SqlConnection(cs))
            {
                SqlCommand cmd = new SqlCommand("insert into Product values (@ProdName, @ProdDesc, @ProdPrice, @ImageName, @Size, @ImageData, @ProdBrand, @ProdStock);", con);
                cmd.Parameters.AddWithValue("ProdName", txtProdName.Text);
                cmd.Parameters.AddWithValue("ProdDesc", txtProdDesc.Text);
                cmd.Parameters.AddWithValue("ProdPrice", decimal.Parse(txtProdPrice.Text));
                cmd.Parameters.AddWithValue("ImageName", fileName);
                cmd.Parameters.AddWithValue("Size", fileSize);
                cmd.Parameters.AddWithValue("ImageData", bytes);
                cmd.Parameters.AddWithValue("ProdBrand", ddlBrand.SelectedItem.Text);
                cmd.Parameters.AddWithValue("prodStock", int.Parse(txtProdStock.Text));


                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();

                lblImageResult.Visible = true;
                lblImageResult.Text = "Upload Successful";
                lblImageResult.ForeColor = System.Drawing.Color.Green;

所有结果仍然相同,“将数据类型 nvarchar 转换为数字时出错”

最佳答案

如果不指定插入语句中的字段,则提供的值应按表的列顺序。

... insert into Product values (@ProdName, @ProdPrice, @ProdDesc, ....

关于c# - ASP.NET 将数据类型 nvarchar 转换为数字时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56948932/

相关文章:

javascript - div元素隐藏和显示

asp.net - ASP.NET Rich UI-您使用什么?

c# - 如何设置 Splitter 控件的最小/最大距离?

c# - 如何在 webapi 2.2 odata 中进行未绑定(bind)的 POST 操作

c# - 处理后退导航 Windows 10 (UWP)

.net - ASP.NET WebForm 的 'page lifecycle' 是什么?

c# - 在 web.config 上设置 AD 角色名称

c# - Azure 网站中的站点无法处理 X509Certificate2

javascript - 如何以及在何处安全地存储访问 token

c# - 当 HTTP 状态不是 200 OK 时,ASP.NET 获取 Web 响应