[英]System.Data.SqlClient.SqlException nvarchar to float
我正在使用以下代码更新表:
private void AddToQuotation()
{
con.Open();
cmd = new SqlCommand(@"update JobQuotations
set quo_discount = @discount
, quo_unitPrice = @unitPrice
, quo_TotalAmount = @totalAmount
, quo_finishing = @finishing
where quo_custname = @customername
and quo_verified = 'Yes'", con);
cmd.Parameters.AddWithValue("@customername",DropDownList3.SelectedItem.Value.ToString());
cmd.Parameters.AddWithValue("@discount",txtDisc.Text);
cmd.Parameters.AddWithValue("@unitPrice",txtUnitPrice.Text);
cmd.Parameters.AddWithValue("@finishing",txtFinishing.Text);
cmd.Parameters.AddWithValue("@totalAmount",lblTotalAmount.Text);
cmd.ExecuteNonQuery();
con.Close();
string script = "alert(\"Functioning!\");";
ScriptManager.RegisterStartupScript(this, GetType(),
"ServerControlScript", script, true);
}
而且我不断收到此错误:
System.Data.dll中发生类型'System.Data.SqlClient.SqlException'的异常,但未在用户代码中处理
附加信息:转换数据类型nvarchar时出错。
这段代码上次对我有用。我不知道发生了什么。
我建议您使用SqlDbType
并将每个参数放入数据库中的相应类型,如下所示:
cmd.Parameters.Add (new SqlParameter("@unitPrice", SqlDbType.Float).Value = txtUnitPrice.Text ;
要么
cmd.Parameters.AddWithValue("@unitPrice", SqlDbType.Float).Value = txtUnitPrice.Text;
您是否更改了数据库中字段的数据类型,但不接受该值? 如果您不这样做,则必须...。因为数据类型不同
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.