【发布时间】:2009-02-05 00:41:49
【问题描述】:
在 C# 中, 我对 Sql Server 存储过程使用十进制输出 DbParameter。 我创建这样的参数
DbParameter prm = comm.CreateParameter();
prm.ParameterName = "@Price";
prm.DbType = DbType.Decimal;
prm.Direction = ParameterDirection.Output;
comm.Parameters.Add(prm);
//and set the value of comm.Parameters["@Price"] to a variable,
decimal.TryParse(comm.Parameters["@Price"].Value.ToString(),
out this.ProdPrice);
但是out参数的值总是四舍五入的。
如果我从 Sql Server Management Studio 调用相同的存储过程,我可以把它弄出来 参数正确,精度高
DbParameter 上没有精度或比例属性。 而且我必须在 System.Data.Common 命名空间上使用 DbParameter 来获取数据
我怎样才能以全精度检索十进制值
提前谢谢...
【问题讨论】: