如何将字符串值传递给想要小数值的存储过程

时间:2013-04-18 14:02:56

标签: asp.net stored-procedures parameters sqldatasource

我有这个问题,我不知道如何解决:

- 在.aspx页面中,SqlDataSource调用存储过程 -i在代码隐藏中传递参数 -i必须传递字符串值,但参数在存储过程中是十进制的 - 运行得到转换错误,该怎么办?

//code behind
Parameter prm_price = new Parameter("cc_price", DbType.Decimal, newValues["PRICE"].ToString());

sqlDataSource.InsertParameters.Add(prm_price);

-

//stored procedure
@cc_prezzo decimal(15,3),

1 个答案:

答案 0 :(得分:0)

嗯,你必须在发送之前投射字符串。如果它是一个小数,你可以在发送它之前把它放在一个浮点数中,当你收到它时,你只需要在一个字符串中重铸它。

我不知道你正在使用哪种语言,但你可以做类似的事情

sqlDataSource.InsertParameters.Add(Float.Parse(prm_price));