本帖最后由 yayiba2020 于 2010-07-12 10:38:45 编辑

解决方案 »

  1.   

    string sql ="insert into table1 (UnitPrice,SumPrice) values("+UnitPrice??0+","+SumPrice??0+")";
      

  2.   

    if(UnitPrice==null)
    {
     UnitPrice=0;
    }
    if(SumPrice==null)
    {
     SumPrice=0;
    }
      

  3.   

    string sql =string.Fromat("insert into table1 (UnitPrice,SumPrice) values('{0}','{1}')",UnitPrice??0,SumPrice??0);
      

  4.   

    如果数值很多的话,那你是怎么定义变量的呢?要么在定义的时候就给于一个初始值0呀double SumPrice=0d;
      

  5.   

    我很奇怪UnitPrice和SumPrice的类型,是int?类型么?不是int?一个代码怎么可以到写入数据库的时候还没确定值的呢?这个应该在前台就已经开始限制的了
      

  6.   

    还是在执行SQL语句之前就处理好字符串吧!否则到数据库里很麻烦的!
      

  7.   

    在插入之前判断下,100个也要判断..
    使用存储过程或者映射插入都需要判断的..
    看你的2个参数都是整型,如果为空就给个默认值吧,比如说0
    "insert into table1 (UnitPrice,SumPrice) values("+UnitPrice.tostring.trim()==0?0:UnitPrice+","+SumPrice+")"
      

  8.   

    .Tostring().Trim();
    拼接的也是字符串,又不是参数也不是批处理,最终不是都转换成了sql string,不用判断。