程序级触发器功能的实现牛
民生新闻 2021-08-24 13:36 字号: 大 中 小
在Delphi的数据集控件中,提供了类似关系数据库管理系统中触发器功能的事件机制----\"触发器类\"事件。灵活使用数据集控件的此类事件,能够实现\"程序级的触发器\"功能,以加强数据的完整性检验。
以Delphi中表数据集为例,其相应的\"触发器类\"事件:
事件名称 说明
BeforeInsert, AfterInsert 插入记录前后调用的事件
BeforeEdit, AfterEdit 前后调用的事件
BeforePost, AfterPost 保存数据前后调用的事件
BeforeDelete, AfterDelete 删除前后调用的事件
BeforeCancel, AfterCancel 取消前后调用的事件
BeforeOpen, AfterOpen 打开数据集前后调用的事件
BeforeClose, AfterClose 关闭数据集前后调用的事件
OnNewRecord 新记录产生时调用的事件
OnCalcField 当计算字段被计算时调用的事件
OnFilterRecord 启动过滤后,数据集内每条记录都调用此事件
事件使用举例:
1. 更改Delphi中DbNavigator控件默认的删除对话框
设置DbNavigator的ConfirmDelete属性为False,在Table控件的BeforeDelete事件中编写如下代码:
if ssageBox(\'确实要删除当前记录吗?\', \'删除 确认\', mb_YesNo + mb_IconWarning) Id_Yes then
Abort;
2.在记录保存前检验数据的完整性,以及连锁更新相关表中的数据,实现数据完整性检验可通过表数据集控件的BeforePost事件检验:
满资质状态下 if eldByName(\'OutCardMount\').AsInteger GetNowCardMount then
ssageBox(\'当前输入凭证的下发数量超过该种凭证的实际库存量!\', \'错误\', Mb_Ok + Mb_IconError);
Abort;
else
UpdateProc;
杭州看白癜风去哪里耳鼻喉科
骨关节炎吃什么药治疗效果好
-
-
小心塔克搞你感觉保罗这话就是对安东尼说的搭配
小心塔克搞你!感觉保罗这话就是对安东尼说的保罗说不防守...
2020-06-06 | 民生新闻
-
-
蔡斌与江苏女排合同到期称是否续约仍是未知搭配
蔡斌与江苏女排合同到期 称是否续约仍是未知数蔡斌本场结束...
2020-06-02 | 民生新闻
-
-
大海之南气象新海南力促总部经济全面起步搭配
大海之南气象新|海南力促总部经济全面起步做好顶层设计、...
2020-05-30 | 民生新闻
-
-
昌黎县政府召开首次抗洪救灾工作会
昌黎县政府召开首次抗洪救灾工作会( 徐艳 李月 郭勇军 报道...
2019-07-15 | 民生新闻
-
-
宝山烈士陵园党支部组织开展两学一做主题教
宝山烈士陵园党支部组织开展“两学一做”主题教育活动8月1...
2019-07-12 | 民生新闻
-
-
天祝着力提升发展党员质量
天祝着力提升发展党员质量今年以来,天祝县为从源头上保持...
2019-07-07 | 民生新闻