封装的数据库操作框架报错,找不到原因:方法调用如下: public int UpdateCommand(Ts_Entity ts)
{
return provider.UpdateCommand(ts,null);
}
错误日志记录如下:
——————————————————————————————————————
调用方法:UpdateCommand
错误内容:将 numeric 转换为数据类型 numeric 时出现算术溢出错误。
语句已终止。
执行的SQL语句:Update BApp_T8 Set T8_TC1_ID=@T8_TC1_ID,T8_DAYS_OF_STOCK=@T8_DAYS_OF_STOCK,T8_LIABILITY_RATIO=@T8_LIABILITY_RATIO,T8_PROCESS_ID=@T8_PROCESS_ID,T8_PROCESS_TIME=@T8_PROCESS_TIME,T8_DATA_INIT_TIME=@T8_DATA_INIT_TIME,T8_BI_CODE=@T8_BI_CODE Where T8_ID = @T8_ID
--2012-9-28 14:23:08--调试后,给对应的参数赋值后执行正确:赋值后的结果:
Update BApp_T8 
Set 
T8_TC1_ID=26,
T8_DAYS_OF_STOCK=23,
T8_LIABILITY_RATIO=67,
T8_PROCESS_ID=0,
T8_PROCESS_TIME=CAST('2012-9-28 13:40:21' AS DATETIME),
T8_DATA_INIT_TIME=CAST('2012-9-28 13:40:23' AS DATETIME),
T8_BI_CODE='T0000001904' 
Where T8_ID = 444请帮忙分析下????谢谢。。有没有可能是分装里面计算定义变量的时候报的错误呢???

解决方案 »

  1.   

    错误 貌似很明显
    错误内容:将 numeric 转换为数据类型 numeric 时出现算术溢出错误。
      

  2.   

    谢谢各位啦是设计数据库的时候其中一个自动的类型弄错了。。应该是numeric(6,2)设计成了numeric(6,0),可能导致最后将一个numeric(6,2)类型的属性幅值给numeric(6,0)类型的数据库字段而出错的
      

  3.   

    只是不明白在c#里面不是有numeric这种类型的么?将numeric类型幅值给数据库numeric(6,0)应该不会出问题的呀?
      

  4.   

    楼主,numeric(6,2)可以存2位小数,而numeric(6,0)只能存整数,您是不是把小数赋值给了这个字段?