decimal是28位的
SqlMoney 38位 直接赋值不会有问题的

解决方案 »

  1.   

    我的代码:
    decimal fee;
    SlqlMoney fees=fee;string sql="insert into department(lunch_fee) values('+fees+')";
    ...
    cmd.ExecuteSql();
    还是出现下面的错误:
    不允许从数据类型 varchar 到数据类型 money 的隐性转换
    (表 'CQUPublication.dbo.depa_fee',列 'depa_Lfee')。请使用 CONVERT 函数来运行此查询。
      

  2.   

    这个错误不是
    SqlMoney fees = fee
    引起的,楼主再好好看看
      

  3.   

    lunch_fee是varcha型,到表里把字段属性改一下
      

  4.   

    double fee;//有decimal 这个类型吗?用double定义
    //SlqlMoney fees=fee;//不需要用SqlMoney
    fee=...;
    ...
    string sql="insert into department(lunch_fee) values("+fee+")";
    ...
    cmd.ExecuteSql();
      

  5.   

    有decimal 这个类型,
    我已将lunch_fee的数据类型改为decimal,这样做可以了。
    但是我还是不会如何将数据转换成SqlMoney,然后存入数据库的表中!
    该怎样做呢?谢谢!!!!!