自增长的字段是不能用sql语句进行操作的,否则会抱错,至少在sqlserver中是这样的。对于自增长的字段不用理会,就ok了!

解决方案 »

  1.   

    不插入这个字段的值就行了。
    另外,SQL语句应该这么写:
    strSql = "insert into table (b,c,d) values(?,?,?)";
      

  2.   

    是啊,插入数据的时候最好把相关的字段列出来,一一对应的insert,这样如果以后表结构中追加了某个字段,你也不用理会,原先的程序照样执行。
      

  3.   

    可以,如果我用的是ORACLE,它是使用sequence的
    那我应该怎么呀???
      

  4.   

    用oracle的sequence就更简单了
    ssql="insert into tableA(a,b,c) values(sequencetest.next,?,?)"
    a是自增字段,sequencetest是在数据库里create的sequence对象