插入的数据中如果带有",","(","-"等符号就会出问题,我在插入数据库前用messagebox显示了一下,是正确的.
INSERT INTO 出入库
           (男女,颜色,毛料,针法,衣裤,规格标识,出入库,客户)
     VALUES
           (@男女,@颜色,@毛料,@针法,@衣裤,@规格标识,@出入库,@客户)
END
上面是存储过程插入的部分,我运行了一下,也是正确的,直接运行也能插入",","-"等等符号,但为什么从程序中传数据到数据库就不行了呢?还请高手指点.

解决方案 »

  1.   

    INSERT INTO 库存
               (男女,颜色,毛料,针法,衣裤,规格标识,单价)
         VALUES
               (@男女,@颜色,@毛料,@针法,@衣裤,@规格标识,@单价)
    刚才是往出入库中插入数据,会出问题.上面是往库存中插入数据,同样的语句,这个就没问题,插入一些符号什么的也都好用,真是怪了.出问题的就是毛料这列,因为毛料里可能有些符号.
      

  2.   

    sqlparameter replace("'","'');
    文本编辑器中数据可直接插入数据库
      

  3.   

    我终于发现问题在哪了.
    sqlcomm.Parameters.Add("@毛料", SqlDbType.NVarChar, 4).Value = dgv[i]["毛料", j].Value.ToString();
    这里指定的nvarchar的长度竟然只有4.而且不光毛料,其它的所有参数全都是长度为4.以前就曾经发生过这个问题,没想到又再次发生了.倒底是VS的问题还是我恍惚了?
    以前发生过这种问题,也是长度全变成4了,我没办法挨个手动改回.郁闷了.