我用的是ADODATASET,用AdoConnection统一批次更新,但是不行.

解决方案 »

  1.   

    正是因为我将它放在缓冲区,才发生这样的事,我的意思是如何将之从缓冲区中删掉?(不用delete).
      

  2.   

    数据库有时候有些怪事情,它提示你主键冲突,但是有时它又不管三七二十一给你提交了,你直接到库里去看就明白了。
    建议你在Beforepost事件中判断,如果主键重复,则不准提交;
    稍微偷懒的办法是UpdateError中,不管什么原因,统统不准提交;
    或者用事务也可以。
      

  3.   

    Beforepost中我如何才能知道主键重复?我用ADODATASET.
      

  4.   

    for i:=0 to adoconnection1.errors.count-1 do
        if adoconnection1.errors.item[i].sqlstate=3022 then 
           showmessage('Error,Record doublicate')
        .......
    Action=daAbort;--------------------------------:)Tomtop : [email protected]