我在数据库里的主键id是让他选为标志为是,种子为1,递增量为1,功能应该就每次加1吧?
本来以为它就像ACCESS里的自动编号一样,但现在发现不是。
在DELPHI里我不能插入,因为我给这个字段付值的话,它说主键不能显式的给它付值。我不给它付值的话,他又说字段id不能为空。
这个怎么回事啊?
我们做的时候一般不是有个键是自动增加的嘛,但是在DELPHI里面TABLE控件为什么不给这个字段付值就会出错呢?我在asp里不给它付值好象没什么问题,它会自动增加,但DELPHI 里为什么我也不知道?初次用DELPHI,请指教,谢谢

解决方案 »

  1.   

    比如先在SQL里建表,
    ID int 按上面我说的设,让它自动加1,设为主键。
    a char
    b char
    好了DELPHI里
    代码其实可以很简单,就拖拖控件好了,自己写都不用写的。
    比如先拖个TABLE,和数据库连上。
    再加个DataSource,和TABLE连上。
    再拖个DBGRID,和DataSource连上。
    然后再加个那个DBNavigator和DataSource连
    就好了,
    按道理就可以对数据库增加删除修改等操作了呀。
    可是就那个ID出问题,给它值不行,不给他值也不行
    WHY?THANK YOU VERY MUCH
      

  2.   

    因为SQL Server 里面的ID是integer型的,而你是不是用了别的类型呀?
      

  3.   

    自动增值功能好象只对BDNAV控件起作用,用Table.insert或append都不起作用!
      

  4.   

    id int identity(1,1) primary key 这个ID不用管它,它会自动增加1
    inert into table (指明字段不含id) values(............)ok
      

  5.   

    identity就是不能负值给它!sql语句里insert时要列清楚涉及的字段。
      

  6.   

    id int identity(1,1)primary key
      

  7.   

    如果你要程序中为它赋值的话类型就设置为varchar,
    如果要让它自动增1的话,就不能在程序中赋值给它,类型设置为numeric或者integer
    应该没问题!