我已经弄了快两天了,一点头绪都没有,我知道是基础知识不牢固,可现在着急啊。谁能详细告诉我,救命。早上我有问过也有回答,可是这里的刷新太快了,我的问题一下子就被淹没了。问题和曾经的答案是这样的:问题:如果在beforepost里设置限制,用abort取消保存,但被编辑的字段不会恢复到原来的值。
比如‘A’被改为‘B’,搜索到‘B’值有重复,abort取消,但DBgrid显示的仍旧是‘B’,如果用户决定不修改,于是把这个显示的‘B’改回‘A’,但移动指针,又会触发beforepost事件,然后又会搜索到‘A’(它自己原来的值)有重复!好象应该用旧值和新值。或许可以在onValidate中,停止新字段值写入和恢复原值。
可句子应该怎么写?答案一:
在你的数据库中要使你的那个字段设为主键或者无重复。
然后:
try 
  DBGrid1.datasource.dataset.post;
except
  showmessage('数据错误');
  DBGrid1.datasource.dataset.cancel;
end;
可我不知道这段程序应该放在何处!