Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据从GridView保存到数据库时,输入字符串格式不正确_C#_Asp.net_.net_Ado.net - Fatal编程技术网

C# 将数据从GridView保存到数据库时,输入字符串格式不正确

C# 将数据从GridView保存到数据库时,输入字符串格式不正确,c#,asp.net,.net,ado.net,C#,Asp.net,.net,Ado.net,我试图将我的gridview存储到数据库中,但似乎无法做到这一点。我该如何解决它 foreach (GridViewRow row in gv_CartView.Rows) { int quantity = Convert.ToInt32(row.Cells[2].Text); Session["Quantity"] = quantity; decimal TotalPrice = Convert.ToDecimal(row.Cells[4].Text); Se

我试图将我的gridview存储到数据库中,但似乎无法做到这一点。我该如何解决它

foreach (GridViewRow row in gv_CartView.Rows)
{
    int quantity = Convert.ToInt32(row.Cells[2].Text);
    Session["Quantity"] = quantity;

    decimal TotalPrice = Convert.ToDecimal(row.Cells[4].Text);
    Session["TotalPrice"] = TotalPrice;

    string queryStr = "INSERT into Cart (prod_Id,prod_Name,qty,prod_Price,total_Amt)"
    + "values (@ItemID,@Product_Name,@Quantity,@Product_Price,@TotalPrice)";
    SqlConnection conn = new SqlConnection(_connStr);
    SqlCommand cmd = new SqlCommand(queryStr, conn);
    cmd.Parameters.AddWithValue("@ItemID", row.Cells[0].Text);
    cmd.Parameters.AddWithValue("@Product_Name", row.Cells[1].Text);
    cmd.Parameters.AddWithValue("@Quantity", Convert.ToInt32(row.Cells[2].Text));
    cmd.Parameters.AddWithValue("@Product_Price", Convert.ToDecimal(row.Cells[3].Text));
    cmd.Parameters.AddWithValue("@TotalPrice", Convert.ToDecimal(row.Cells[4].Text));

    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
}
我得到这个错误:

“输入字符串的格式不正确”

从下面几行开始,我已经多次更改了代码,但仍然不起作用

cmd.Parameters.AddWithValue("@Quantity", Convert.ToInt32(row.Cells[2].Text));
cmd.Parameters.AddWithValue("@Product_Price", Convert.ToDecimal(row.Cells[3].Text));
cmd.Parameters.AddWithValue("@TotalPrice", Convert.ToDecimal(row.Cells[4].Text)); 

该错误表示单元格中的一个值不能转换为整数或十进制。不要使用
Convert
,它只是调用
int.Parse
decimal.Parse
,不允许您指定其他参数,如CultureInfo。错误来自尝试解析单元格文本。当web应用程序在不同的语言环境下运行时,用户很可能在一个语言环境中输入了带分隔符的十进制值。例如,当web应用程序配置为
en-US
时,输入
1,5