Delphi:在OnBeforePost事件中取消TDataSet.Post

前端之家收集整理的这篇文章主要介绍了Delphi:在OnBeforePost事件中取消TDataSet.Post前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在主数据输入屏幕上,OnBeforePost事件中有一个OK / Cancel对话框.

OK可以让事情顺利进行
>取消现在做一个Dataset.Cancel;

这是什么意思,回滚任何更改,并将数据集放入浏览模式.

这对大多数客户来说都是好的,但是我们被问及是否可以更改

>取消,中止帖子,并保持编辑模式,保存当前更改.

如果他们想取消,他们可以使用取消按钮.

看源程序TDataSet.Post;这样看起来不可能使用事件.

任何人都有任何想法可以做到这一点吗?

跟进:这是我现在选择处理的方式

case MessageDlg('Save Changes?',mtWarning,[mbYes,mbNo,mbAbort],0) of
  mrYes: ;
  mrNo: Dataset.Cancel;
  mrAbort: Abort;
  mrNone: Abort;
end;

解决方法

调用方法中止(从单位系统,如果我记得正确)会引发一个静默的EAbort异常,它只会取消当前操作.这应该工作.

(Btw:这种取消数据库操作的方法也在帮助系统的深处被描述为实现这一点的“正常”方式 – 这是我从最初得到这种技术的地方).

原文链接:https://www.f2er.com/delphi/102730.html

猜你在找的Delphi相关文章