本帖最后由 pzcm2008 于 2012-04-24 11:10:20 编辑

解决方案 »

  1.   

    要不修改程序让生成的时候还有null或者 生成一个 insert into Table1 (a,c) Values (001,'') 的语句。
      

  2.   

    你不想在该列添加东西,那在你插入的时候就不用写那个列啊,
    直接 insert into table1(a) values(001)
      

  3.   

    再补充一句:实际情况是这样,我是从ecxel里导数据,N条记录中,各条记录在不同字段上都存在不同空缺。数据库的表设计规则就是,主键专门生成不能为空,其他字段都允许空。其中有一些记录是空缺了int字段,数据库里设置的是允许空,但是插入sqlserver2005时就报错。并非我想写还是不想写数据,完全是根据导入的excel的实际情况来的。
      

  4.   

    处理excel 把对应列的''变成0
      

  5.   

    一般int类型你可以用0来填充,或者用isnull(xx,0)来保证。
      

  6.   

    关于拼接sql语句的方法http://kb.cnblogs.com/a/1093624/
      

  7.   

    拼sql语句时 要避免('',,'')这样的错误语句,这里没值要拼''代替
      

  8.   

    insert into Table1 (a) Values (001);
    这样也可以只插入主键,其它设为空
      

  9.   

    insert into Table1(a) Values (001);
    这样也可以只插入主键,其它设为空
      

  10.   

    insert into Table1(a) Values (‘001’);
    这样也可以只插入主键,其它设为空
      

  11.   

    字段允许为空时写入SQL语句要么写上字段名并在对应的位置写上NULL,要么不写字段名与值
      

  12.   

    拼完SQL语句之后,用replace把字符串中的“,,”替换为“,null,”,这样是不是可以啊,各位大虾。