说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi”程序级触发器”功能的实现

HTML文档下载 WORD文档下载 PDF文档下载
Delphi”程序级触发器”功能的实现

在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 Application.MessageBox('确实要删除当前记录吗?'

'删除 确认'

mb_YesNo + mb_IconWarning)                <> Id_Yes then

Abort; file://利用哑异常阻止删除事件发生

2.在记录保存前检验数据的完整性,以及连锁更新相关表中的数据,实现数据完整性检验可通过表数据集控件的BeforePost事件检验:

file://GetNowCardMount为自定义函数(举例),假设其取得当前凭证的实际库存量

if Table1.FieldByName('OutCardMount').AsInteger > GetNowCardMount then

Application.MessageBox('当前输入凭证的下发数量超过该种凭证的实际库存量!'

'错误'

Mb_Ok                + Mb_IconError);

Abort; file://利用哑异常阻止数据保存,从而,使光标仍停留在当前行继续编辑

else file://如果需要连锁更新的话

UpdateProc; file://假设的一连锁更新相关表数据的过程

3.表数据集打开之前检验用户是否具有对当前表的访问权

在表数据集的BeforeOpen事件中编写如下代码:

if Not CanVisit(UserName

TableName) then file://CanVisit假设函数

检验用户对表是否有访问权

begin

Application.MessageBox('当前用户无足够权限访问当前数据!'

'信息'

Mb_Ok +                       Mb_IconInformation);

Abort; file://阻止当前表被打开

end;

4.关闭表数据集前提示保存数据,防止数据丢失

在表数据集的BeforeClose事件中编写如下代码:

if Table1.State in [dsEdit

dsInsert] then file://当前数据被修改或是新插入的记录

case Application.MessageBox('当前数据尚未保存

是否保存后再关闭?'

'保存 确认'

Mb_YesNoCancel + Mb_IconQuestion) of

Id_Yes : AdoTable1.Post; file://保存数据

Id_No : ; file://不保存

Id_Cancel: Abort; file://取消关闭事件

end;

其它事件编程略。

Delphi的数据集控件给程序开发人员提供了灵活的前端数据完整性检验的机制

Loom SDK框架:命令行快速开发跨平台2D游戏 安全管家Q2移动安全数据报告:窃取隐私最多 Project Adam vs. Artificial Brain,微软与谷歌角力人工智能 “微信公众平台优秀开发商”征集评选活动正式启动 移动数据库新疆界:开源、Swift、可穿戴... Chromebook侵蚀微软商用PC市场,成绩喜人 2014微信开发者大会议程公布 8月1日前购票8折优惠并赠书 四火的唠叨:也谈谈全栈工程师 图形化与集成趋势 协同软件致远发新品V5.1 跨平台开发如何事半功倍 Xamarin推出免费培训 《近匠》上海庆科:海尔智能家居背后的云方案 轻松DIY智能硬件,开源电子原型平台Hippo-ADK 所见即所得!基于Polymer的设计工具Mobile UI Elements 好的产品经理是怎样炼成的? 统一架构、统一运维:UnitedStack发布UOS2.0 把轻应用带进汽车——宝马、百度编程马拉松大赛启动 “钢铁侠”Insteon的逆袭:声控智能家居新时代 游戏云纪元 第二届游戏运营技术论坛即将召开 Bitly:构建月处理60亿点击的分布式系统 重塑微软:Satya Nadella开启整合之路 推送工具个推完成B轮数千万美金融资 娱乐行业数据化 ABD爱梦娱乐发布大数据引擎产品 增强现实:10大AR应用窥探移动未来 LBS的硬件创新:高德LBS智能硬件编程马拉松圆满闭幕 2014优秀微信开发商评选上线 首批旅游汽车电商房产等行业应用出炉(表) 让梦想照进现实——宝马百度编程马拉松闭幕 IXDC大会:移动交互设计精髓——用户体验 想辨析“马航”等事件真伪,有很多技术和工具可以使用 两倍于IBM的基础设施投资,Google大力发展云服务 听云平台发布移动应用性能黑洞报告 微信开发者大会陶瑾:如何玩转微信支付功能的原理和开发 打印问题 怎样将一个文本文件以二进制的形式显示 在ASP.NET中怎样使TEXTBOX中的文本垂直居中 用ODBC连ORACLE为什么表名前面多了表空间? 怎样将页面中下拉框的内容与数据库某列关联 请问广州市的朋友,哪儿有旺盛的二手电脑市场? 怎样在VB里用代码设置ACCESS数据库密码 为什么【select * from Topics [OrderBy 发表时间 desc]】和【...[OrderBy 发表时间 desc]】效果一样? 用SUN WTK2.0开发的程序在Nokia模拟器下可编译不可运行,请教 第一个不头晕者接分 杭州工作难找!!!! 如何修改tomcat 4.1.18的配置,使修改过的Servlet能够及时重新加载! edit的text读取 关于ocx的问题? 怎样将一个文本文件以二进制的形式显示 请大家帮我一下!! 怎么破解Email密码? 国内手机及PDA大都用的是哪个操作系统?Palm? 如何是MEMO中增加一行后光标保持在最后位置? vb.net怎样选定word中表格的某一行? ado+intraweb中如何调用coInitialize? 寻找最恶心的笑话 一些对未来的思索、问题,各位来谈谈 有谁知道用哪款打印机比较好呢? 关于类和接口设计问题 如何能把98 聯入2000 如何做一个后台管理-数据库备份程序 如果我用一个Winsock(index)控件数组。Winsock(1)、Winsock(2)同时调用一个延时函数会出什么问题吗? 已知表中字段ID的值,如何定位到这个字段? 谁知道为什么会出这种错误fatal error C1004: unexpected end of file found 小小问题,也有小小的分,不成敬意。 visio ,rose ,ERwin 他们各自的用途是什么,有什么区别呀? Oracle安装的问题——寻求帮忙!!!! 请问Crystal(水晶)报表如何对TextBox进行动态绑定字段? 如何设定mapx图层的颜色 对汇编的渴望! 谁有Asp做的网站?100分奉上! 都进来看看 vc新兵问函数调用菜鸟问题 紧急求救!!!! 谁有delphi关于ado编程 的资料啊(要详细一点的) TreeView的问题,很实在的问题。 关于在PB上实现错误事件处理!!! 关于组件的停靠 用VB.NET连接数据库老是连不了,快精神分裂了,救命啊! 关于SendMessage(高分相送,紧急) 急!!!高手进! 在查找结果中如果某一字段的值相等,只取出其中一条的问题! squid的安装问题???????????????????? SQL语句问题? 冒昧求救,光驱不能使用,不能boot 氟乙酸甲酯有毒没?比重是多少? 在下列化学变化过程中:X+HCL →Y+ NaOH→Z →X所代表的物质可能是A.CuOB.KOHC.K2OD.SO2 COS 165º=?求过程,结果也行 H2O和O2反应可能反应么?有把握再说.. HCL与NAOH反应是化学变化,其中的物理变化在哪?书上不是说化学变化一定伴随着物理变化吗? cos-165°怎么求?注意是负的 发生火灾后如何自救 为什么碳酸钠比碳酸氢钠水溶性更好那为什么酸式盐比正盐更容易溶? 燎麻照读中的“自以少时未开悟,晚更历精,明慧过人.”怎么翻译 电阻,电压,电流,的关系 含有溶质硫酸钠的溶液,与HCO3-能否共存? 怎样才能保证水源、土壤不会受到粪肥外流液体的污染,做到有机性 你知不知道《爱直至成伤》这句话是什么意思? 黑板报装饰花边高一的、出黑板报用 要简约式的.比如绿叶藤或者绕一绕一个小圈圈这种的.注意不要太难画哦!简单点的、还要可爱好看实用.不要很大的那种 装个边框就行了 什么溶液与硫酸铜溶液反应生成二氧化硫 何以解忧,唯有杜康什么意思? 金属的花纹在哪里啊? 铷与硫酸铜溶液反应生成so2气体吗 在铁做正极的原电池中,铁一点也不反应么,真的完全不被腐蚀么? 如何用英语翻译 就算把太平洋的水全部都倒出来也浇不息我对你爱情的火焰 已知反应Cu+2H2SO4===SO2↑+CuSO4+2H2O,当在标准情况下已知反应Cu+2H2SO4(浓)===SO2↑+CuSO4+2H2O,当在标准情况下,得到448ml的气体时,求(1)消耗的铜的质量(2)转移电子数 《晋书•祖逖传》 睿素无北伐之志 分析化学题目中T(Hcl/CaO)是什么意思? 硫酸钾溶液酸碱度? 孕检ph值是什么意思? 现在科学可以克隆出人体器官吗?如能,有什么用处?12号6点前提交才有用, 等物质的量浓度等体积的碳酸钾、硫酸钾、氯化氢混合后、PH为什么小于7 PH值怎么算平均? 克隆人体器官有什么不利方面?主要是器官方面! 鉴别1甲基2溴乙烷,1,1二甲基2溴乙烷,1溴丙烷 用化学方法鉴别,详细点 当电阻增大,电流就会变小,但电压如何改变啊 人体器官能克隆了吗 请问氯化亚铁和硫酸铜为什么不发生氧化还原反应?如题…… 今天杀鸡时,发现鸡肚内有一个皮囊包裹的黄色半硬凹凸状固体.是否是鸡黄,有无药用价值. 美国同意人体器官的克隆具体是怎么回事非常急, 燎麻照读阅读答案1、解释下列字(“”)“及”觉复读( ) “咸”见申擢( ) “俱”奔江南( ) 必往“祈”借( )2、用自己的话说说刘俊是怎样刻苦读书的.3、“悬梁刺股”“焚 杀鸡时鸡颈有黄色液体杀鸡时应该是流鸡血的 可是流的却是黄色的液体 是什么原因?那么多人都是回答成鸡油.反正三人成虎嘛.不管了.给第一个吧. 求懂的行家看看小叶紫檀真假?珠子直径15mm,若是真的小叶紫檀能值多少钱? 阳光的强弱与物体吸收热有怎样的关系? 为什么H2O在化学反应中既能表现氧化性又能表现还原性而Cl离子不能 求懂的行家看看小叶紫檀真假?珠子直径18mm,若是真的小叶紫檀能值多少钱?刚买的 晚上拍的 是真的还是假的 说是老料 阳光的强弱与物体吸收热有什么关系? 氟分子量 谁能连续说出 “化肥.化肥.化肥.化肥.哈哈哈 你能连续说吗 物体在吸收阳光的同时是否也吸收热?证据是什么? 把浓盐酸和浓硫酸敞口放在空气中时,质量会 增大还是减小),质量分数会____增大还是减小),pH会__ 土壤和气候因素是如何影响物质的循环,急例如:水资源的浪费和土地侵蚀,温室效应,它们是如何影响物质循环的? 如果物体热胀冷缩,为什么太阳那么热,却不会变大,充斥整个天空呢?为什么冷寂的悲伤,却占据了世界呢. 实验室用Zn和稀硫酸制取H2,加入少量NaHSO3为什么不能使产生H2的速率增大?明明氢离子变多了啊?就算少量也变多了啊? 各种溶液的饱和ph值有没有表可查有不同溶液在不同温度下的饱和PH值表吗? 解释为主持,管理的文言实词 一瓶浓硫酸敞口放在空气中一段时间,其密度是减小了还是不变? 生产氮化肥的主要污染是什么 文言文矛与盾这个文言文的起因是什么?发展是什么?结果是什么? 实验室用硫酸溶液与足量Zn粒反应制取H2,当反应进行一段时间后,放出气泡会逐渐变慢,原因是什么? 化肥污染知多少? 有什么书值得看的,关于管理,哲理,或古文,还有观念的 实验室用3.25克Zn与足量的硫酸反应可收集到标态下H2得体积是多少65是什么 化肥会不会农田污染? 若cos(a-15°)=-1/3则cos(165°+a)=? 浙江一盗销柴油团伙五分钟能使满箱柴油拆东墙补西墙 浙江一男子非法集资14李克强会见德国友人多国对美国监听表达不满要求解释 研究突尼斯政治纷争致市政荒废 街头成“垃俄官员说中国是俄旅游领域主要战略伙伴四川南充男子驾中巴强冲交警队和法院 俄官员说中国是俄旅游领域主要战略伙伴张高丽会见美国能源部长莫尼兹外交部:国际社会应尽早制定网络空间行赵洪祝会见尼泊尔客人范长龙会见巴基斯坦陆军参谋长华媒:揭秘核潜艇部队剑有所指 新海军中国核潜艇部队42年来首次揭秘 打击揭牌首月 上海自贸试验区登记企业同比21世纪理事会将就“读懂中国”展开讨浙台经贸合作平台发展规划发布 打造超外交部:日本领导人有关言论表明日本政李源潮同南非副总统莫特兰蒂举行会谈地方金融机构应做大还是做小?省政协经美国安局30天内收集西班牙6050万云南震区会泽县江边村堰塞湖水位上升至三部委发文免征新能源汽车车辆购置税 香港“百变楼神”穿高尔夫球服装亮相吸87岁泰国国王普密蓬将前往曼谷医院检云南鲁甸地震死亡人数为何大幅上升?澳大利亚严打酒吧流氓:花10万美元聘小病就诊报销不出村 莆田医疗保障向农中国人寿将全面助养鲁甸地震致孤儿童台报:教育的结 改变观念才能解日本在撤走洛杉矶附近慰安妇铜像一案中90后大学生醉驾闯祸 父亲为其顶包被韩成立官民军军营文化革新委员会 拟定日本广岛纪念遭原子弹轰炸69周年(组云南震区的摩托救援队:重要的救援运输澳门特区政府拨款1亿澳门元支持云南救新疆博尔塔拉蒙古自治州精河县遭风雹灾8日、12日 渝中巴南南岸部分区域停女子携女儿与男网友同居 女儿被虐致死刘源上将文革亲眼目睹父亲母亲批斗会被中年男子丧失生育能力 默许妻子找情人全新全民健身路径器材入驻天坛公园
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘