C# 将数据从GridView保存到数据库时,输入字符串格式不正确
我试图将我的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
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
。