日期:2014-05-17  浏览次数:20932 次

用存储过程添加decimal数值小数点后的数字没有了
存储过程是这样的
ALTER   PROCEDURE   T_AddOutStorage
(
        @T_DesignNumber   nvarchar(8),
        @T_Color   nvarchar(8),
        @T_Number   int,
        @T_SignalMoney   decimal(13),
        @T_TotalMoney   decimal(13),
  )
AS
     
INSERT   INTO
            Storage
            (              
                      T_DesignNumber,
                      T_Color,
                      T_Number,
                      T_Unit,
                      T_SignalMoney,
                      T_TotalMoney,
              )
              VALUES
            (
                    @T_DesignNumber,
                    @T_Color,
                    @T_Number,
                    @T_Unit,
                    @T_SignalMoney,
                    @T_TotalMoney,
              )              
RETURN

运行时一切都没有问题,就是decimal数据类型@T_SignalMoney和@T_TotalMoney后面如果是带小数点的数例如23.53,加入到数据库后就变成了23,我在数据库里是设decimal的小数点位数为2位,在数据库里填是可以保存两位小数的,但是为什么用存储过程加小数就没有了呢?
请高人给指点下,谢谢了

------解决方案--------------------
是不是你在程序中 有了 类型 转换
你用 Sql 事件 探测 看看 传到 存储过程的 值是 好多.

如果没有问题 试试

VALUES
(
@T_DesignNumber,
@T_Color,
@T_Number,
@T_Unit,
@T_SignalMoney*1.00,
@T_TotalMoney*1.00,
)
------解决方案--------------------
需设置那个字段的精度和小数位数