1.已设了主键
2.用TAdoDataSet的Edit后再Post提交数据
3.用Requery的话:1是重新打开觉得不是很好,2在Edit之前Requery也没意义,3不能在Edit和Post之间Requery
4.可以等到出错时提示用户刷新,但那样用户做的修改就白费了(用感知组件),所以也不是很好希望能找到好的解决办法,谢谢

解决方案 »

  1.   

    错误跟默认值有关或者是多用户修改同一条记录。如果是默认值的原因可以在Edit时,给有默认值的字段赋值为默认值
      

  2.   

    错误跟默认值有关或者是多用户修改同一条记录。如果是默认值的原因可以在Edit时,给有默认值的字段赋值为默认值
      

  3.   

    在提交之前首先检测一下数据是否和当前的数据是否一致
    也就是post之前不要在beforepost
    自己写个过程如果不一致就提示abort
    requery可以的
      

  4.   

    这样解决吧,给表加一个字段flog,在用户对自己条记录操作时,flog设置为1,那么第二个用户在操作同一条记录时,先检查FLOG这个字段是否为1,如果为1,提示用户,此字段正在被操作!
    当第一个用户操作结实后,再把FLOG设置为0,这样第二个用户就可以操作了~!
    哈哈
    不知道我说明白没有~!这个方法不乱想的,我就这样做个,很好~!
      

  5.   

    出错了再刷新吧,就象楼主说的第4点。
    bxh2dai(书虫&菜鸟)说的很容易出错误的。flog设置为1时突然断电了,以后谁也不能再修改了。
      

  6.   

    1.用事务??两个用户同时读取数据,一个先修改,传递给数据库就是一条update语句,也就是一个事务!!而另一个用户还是看到以前的数据,再修改提交肯定还是出错,用楼主的话
    用户会抱怨说刚才做的修改都没了,又要重新录一遍,不会在浏览的时候就起用事务吧!?
    2.提交前先Requery,或Close,Open一下,又不符合楼主的第三条:用Requery的话:1是重新打开觉得不是很好。
    等待更好的
      

  7.   

    楼上说的是呀
    我觉得在post之前刷新下数据已经很好了