我使用Simpledataset中的append方法向SQL SERVER数据库中的一个表插入一个记录,记录中有一个字段(ID)是标识类型的且自动增长,如果我象使用ADOTABLE一样不管标识列,结果POST的时候就会提示标识这个字段未给定值;如果我给这个字段附值,POST没问题了,结果APPLYUPDATES的时候提示SQL错误(不能对标识列附值).我晕了.....我该怎么做????高手赐教!另:愿结交对DBEXPRESS感兴趣的朋友
OICQ:1738534

解决方案 »

  1.   

    Append 时,对应设为 null 就可,系统会自动累加的
      

  2.   

    楼上的朋友要是象你说的这么简单我早搞定了。
    你自己用DBEXPRESS试试就知道了
      

  3.   

    干脆直接用sql语句,把你那些所有的字段手动组合成sql语句,然后执行不知可行否?
      

  4.   

    还是我自己搞定了,先用SELECT语句,不要选标识列,取得数据集以后就可以了
      

  5.   

    既然你不SELECT表示列,当然不能把表示列当作查询条件或者排序条件,不然肯定说找不到
      

  6.   

    你说的问题我明白,我承认我提出的解决方案不是很完美,这只能怪BORLAND了
    DBEXPRESS对MSSQL的支持确实存在很多问题。
    郁闷中。。
      

  7.   

    用Sql语句保存数据,如果你用POST保存数据,即使用ADO也会出这个问题
      

  8.   

    我试过用ADO,绝对不会出错,用ADO插入记录不用管标识(且自动计算)列
      

  9.   

    痛苦啊,这个问题不是dbexpress的问题,用ClientDataSet也一样!郁闷啊!!!!!!
      

  10.   

    我发现这样也可以阿,你取出的id字段设置其AutoGenerateValue为AutoInc,我在query里就是这么做的。
      

  11.   

    现在发现是dbexpress的问题,ado就可以,只要not null的字段都会出现这个问题!
    borland干什么去了,这个简单问题都不修复!!!
    我测试了mssql和mysql,都是这样
      

  12.   

    顺便问一下高手,用dbexpress开发的Oracle数据库应用程序运行时需要装Oracle客户端么?还是只要打包几个文件就可以了?
      

  13.   

    双击Simpledataset-->add all files 选中字段(ID)将required设成false就行