1

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

- 在 .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),
4

1 回答 1

0

那么你只需要在发送之前转换字符串。如果它是小数,您可以在发送之前将其转换为浮点数,当您收到它时,您只需将其重新转换为字符串。

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

sqlDataSource.InsertParameters.Add(Float.Parse(prm_price));
于 2013-04-18T15:35:26.860 回答