我已经弄了快两天了,一点头绪都没有,我知道是基础知识不牢固,可现在着急啊。谁能详细告诉我,救命。早上我有问过也有回答,可是这里的刷新太快了,我的问题一下子就被淹没了。问题和曾经的答案是这样的:问题:如果在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;
可我不知道这段程序应该放在何处!
比如‘A’被改为‘B’,搜索到‘B’值有重复,abort取消,但DBgrid显示的仍旧是‘B’,如果用户决定不修改,于是把这个显示的‘B’改回‘A’,但移动指针,又会触发beforepost事件,然后又会搜索到‘A’(它自己原来的值)有重复!好象应该用旧值和新值。或许可以在onValidate中,停止新字段值写入和恢复原值。
可句子应该怎么写?答案一:
在你的数据库中要使你的那个字段设为主键或者无重复。
然后:
try
DBGrid1.datasource.dataset.post;
except
showmessage('数据错误');
DBGrid1.datasource.dataset.cancel;
end;
可我不知道这段程序应该放在何处!
解决方案 »
- delphi代碼外包,能者上
- 求WINDOWS2000服务操作(启动,停止,获取服务状态)的源码或者例子,多谢!
- IDE使用的问题
- ShellTreeview中如何确定一个结点到底是文件还是文件夹
- 关于ADO的事务处理,请高手解释怪现象。。。
- 如何让memo中按下一个key后让这个key不显示?
- InternetReadFile 下载有问题(好像是二进制)
- 用IdHttp打开新浪博客,计数器没变化,请各位大侠指导
- 有没有办法将几十个edit的text一起赋值为空?
- 高手在吗?高手在吗?高手在吗?:用query或table查询数据库后,显示在dbgrid中,如何把这些记录打印出来???
- delphi7怎样找到TNMHTTP控件???
- 对不起,可是有人能告诉我几个绿色的三角是什么意思?几个桔红色的星星又是什么?(我不给分,行吗?),多谢了!
try
DBGrid1.datasource.dataset.post;
except
on e: exception do
begin
showmessage('数据错误');
DBGrid1.datasource.dataset.cancel;
end;
end;
还有,楼上的兄弟的办法,好象不行,还是提示说这个key什么什么