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

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的数据集控件给程序开发人员提供了灵活的前端数据完整性检验的机制

傲逆软件CEO周鲁:核心游戏精神,在移动游戏创作中传承 Kim Dotcom推出新文件存储服务平台Mega 用户数一天达百万 美FCC:希望全美在2015年部署千兆以太网 iOS和Android双平台:帷千动媒SDK 3.0发布 移动周报:2013年移动App设计13大精髓 构建高可扩Web架构和分布式系统实战(下) API设计的十大最差和五大最佳实践 Hadoop:为什么RAID-0不行? 电子前沿基金会:实现互联网自由需翻越5座大山 安全无小事:2013年最令人期待的15家安全公司 移动电商:更喜欢用HTML5代替原生APP Talkingdata行业预警:移动游戏正在变成红海 微软无视W3C 拒绝遵循WebRTC标准 Linux下使用MongoDB+GridFS实现备份作业的优化和监视 AWS建新数据中心 老用户获益不易 铜导线退出历史舞台 激光传导速度将达100G bps 大众点评推出首个O2O开放者平台:高德、盛大加入 从APM角度上看:NoSQL和关系数据库并无不同 新浪微博商业化:大树底下真的好乘凉吗? 亲爱的GitHub,我们怎么访问不了你? 经典神作《魂斗罗》iOS版今日上线 专访最强夫妻店:“神庙逃亡2”开发背后的故事 我们做错了什么?3周了,一毛钱也没赚到! 开源产品系列:简单强大的模板语言JSON Template 十年历史的KDE bug修复 为什么函数式编程在Java中很危险? Android平台获X11协议支持,手机变身绘图板 Rackspace通过OpenStack和定制OCP服务器节省40%成本 美国人是如何利用大数据的应用来防止流感的蔓延 W3C北航总部成立:招兵买马增强中国标准声音 Mozilla推出开发者预览版Firefox OS智能手机 查某一个人全部贴子的方法。 怎样建立无盘工作站?? pcAnywhere操作不能刷新的问题?高手来解救我吧!! 高手们帮帮忙,我的聊天室怎么不支持中文??? 关于换行的问题??? 各位大侠,请教注册表子项枚举问题?(100分) 修改記錄問題(20)分! 各位大侠帮我检查一下这段代码 再线关注,一个关于excel的问题?一解决立即给分,up有分! 居中 哪里有这些书下载啊!!!! 我的控件不见了! reintroduce和overload有什么区别吗? 关于Javadoc的使用 请问如何在程序运行时根据分辨率等比例调整窗体,控件和字体的大小,使得在任何分辨率下均满屏显示 世界杯“蓝色厄运”理论:英格兰胜巴西 德国淘汰美国(转贴) 关于treeview的节点事件问题,把在下高糊涂了,请高手明示。 要毕业了。。。 BCB中数据库控件的错误扑捉怎么写?比如数据库不存在? 请教如何在调运api函数时,建立缓冲区 SetEvent函数调用带来非法内存访问,扭心的问题。 文件和字符混和上传问题 诸位大虾请帮忙? 各位大虾:哪里有vb.net下载啊? 请教:“开始”菜单中的“文档”菜单不见了! 急!急!急! 一个关于模式对话框的问题 oracle 用sql plus /spool 输出 查询结果时怎么把 查询sql 本身 去掉(不输出) ? 世界杯“蓝色厄运”理论:英格兰胜巴西 德国淘汰美国(转贴) !!请 “arxing(阿行)”回答!!about 对象池!!!! 各位老大,怎样将给定的中文根据拼音排序? access97中的报表中显示中文字段时为什么是乱码,怎样解决,急呀!老大们!! 急:在哪儿可以下载java的反编译器jad.exe????? 请帮忙 做过数据分析的高手请进。。。(我感觉很头疼的一个问题!) 共享Interent怎样实现? 请问绿色程序是如何制作的??? Windows API和C 请问怎样把form中的picture属性中的图片删除? 请看看这个问题? 中程书上的错误?(清华) 各位大虾过来看看,救救我啊! flash简单问题 已知IP,求计算机名 求备份方案,oracle 数据库! 求解決方案:怎樣在運行狀態下增加或取消文本輸入框的滾動條. 大家发表些看法! 各位 帮帮忙,关于答复文档的 如何获取手机中的短消息发送结果状态报告,需要懂一点手机短信的朋友 有没有办法去掉jre1.4下向JTextField输入中文时弹出来的那个恶心的输入窗口? 将web工程加到sourcesafe的问题,十万火急,帮忙解决一定给分,分数不够可以其他方式给。 在sqlserver中有字段类型为image,如何往该字段放图象?200分 为什么有的女孩特别怕虫子?绝对不是装出来的! 某项工程,甲乙两队合做20天完成,甲队单独做30天完成.甲队的工作效率比乙队工作效率快多少? 目前我国有多少种转基因物种?具体有哪些?如粮食类有哪些?蔬菜类有哪些?如些去区分? 为什么我特别怕昆虫?我是男的 以前同学把个昆虫模型丢给我 我就吓的不行 后来在贴吧看那些青蛙 毛绒绒的蜘蛛 浑身都是鸡皮疙瘩 不听发抖 请问要怎么克服掉啊 一件工程,甲队单独做要20天完成,乙队单独做要30天完成,甲乙两队的工作效率之比是_____. 哪些蔬菜是转基因的 根据句意为“然”字组词,填在括号里是前后语句通顺.谁能够在三天之内造出十万之箭呢?这显然是周瑜在刁难诸葛亮.如果三天之内不交出箭,诸葛亮( )要有杀身之祸.( )诸葛亮很清楚周 为下面动物的鸣叫写上恰当的词语 虎、马、狼、狮、猿、鹿、犬、蝉、鸡.五分钟之内告诉我、写上恰当的动词、而且也不是连贯的、一个动物一个动词、 总是有人在背后嘲笑我怎么办 一项工作,甲单独做20小时完成,乙单独做12小时完成.现在先由甲单独做4小时,剩下的部分甲、乙合作,则剩下的部分几小时完成?如果设剩下部分需要x小时完成,甲的工作效率是?乙的工作效率是? 狮子,猿,马,虎,鹤,狼.的声音是怎么叫的啊?要中文的,最好有拼音啊,是字上带拼音啊! 别人嘲笑我怎么办 小东期末考语文78、音乐90、体育84、美术80,数学的成绩比五科的平均成绩高4分,数学和平均成绩各是多少?要算式 急! 爱学习爱劳动爱祖国600字 过几天语文课轮到我演讲了 我很害怕 因为我自卑 我觉得我演讲完同学们都会嘲笑我怎么办? 设矩阵 sin2a sina+cosa设矩阵 sin2a sina+cosa a 1/2 ( ) = ( )cos2a sina-cosa b c且0 开展爱学习爱劳动爱祖国目的是什么 写一百五十字左右. 写一篇作文(有关地税的)答得好给高分!围绕“税收 国家 民生”为主题,写一篇500字左右的地税征文 y=(xsina+cosa)(xcosa-sina)a为常数,求导在线等,急用要有解题过程,谢谢 带叠词的古诗 我们现在吃的什么东西是转基因的 ABB形式的词语(叠词) 飘()() 后面括号里的字一样.写出下面句子中破折号的用法ABB形式的词语(叠词) 飘()() 后面括号里的字一样.写出下面句子中破折号的用法近处,凝聚在树叶 同学们总是嘲笑我,我该怎么办?他们看我比较胖,就叫我“包子”,我实在受不了,怎么办. 什么是转基因,什么是非转基因 一项工程,甲队单独做要20天完成,乙单独做要12天完成.已知这项工程甲队做了几天后离开,乙队紧接着做,从一项工程,甲队单独做要20天完成,乙单独做要12天完成.已知这项工程甲队做了几天 高2 数学上期末检测题!急 同学们老嘲笑我,怎么办?5年级,没招他们没惹他们,说一些比较流氓的词. 一项工程,甲队单独做要20天完成.乙队单独做要12天完成.己知甲队做了几天后离开,乙队接着做,从开始到完成共用了14天.问甲队做了多少天? 期末测试题(数学)已知A和B互为倒数,那么A/3÷3/B=( )A.9/1 B1 C9 小胖和小丁丁两人的数学平均成绩是83分,小巧的数学成绩比小胖、小丁丁和小巧三人的平均成绩还高10分.小巧的数学成绩是多少分? 由曲线y=x2,y=x3围成的封闭图形面积为_? 中学生学习报数学七年级数学上学期期末测试题(1)(2)(3)答案 哪些古诗中运用了叠词 草虫的村落 测气候者忙于观察气象,工程师忙于建筑设计指什么急 一块长方形木板长80㎝,宽60㎝,要把它锯成大小相等的若干个小正方形而没有剩余,每个小正方形的面积最大应是多少cm² 在古诗中使用叠词有什么作用效果! 由曲线y=x2,y=2x围成的封闭图形面积是多少 在一个直径是80厘米的圆形木板上锯下一个最大的正方形,这个正方形的面积是多少平 在WORD2003上怎么打指数形式是分数的指数啊越简单越好,我就知道打指数是同时按CTRE+SHIFT+=就好了,但是分数形式的指数怎么打. 根据句子写词语:对社会所做的有益的事;测气候者忙于观察气象,工程师忙于建筑设计...各种不同的工作 高度数的使用白酒如何酿制?发酵工程? 用pascal语言编程,某班有55名同学,已知学号,为了知道有谁作业没交,请用pascal语言编个程. 我看见气候者忙于观察气象,工程师忙于建筑设计……这里的测气候者是指什么? 湘教版数学八年级上册期末综合检测题B卷 电脑程序设计:PASCAL语言1.输入一个四位整数,把它的各位数字倒序输出.(提示:用MOD和DIV运算完成)2.从键盘上读入一个实数,利用ROUND()和TRUNC()函数,输出该实数本身.整数部分.小数部分.四舍五入 若直线的倾斜角为A,则sinA+cosA=0.2,则该直线的斜率为? 立即要答案:把长24厘米.宽30厘米的长方形木板锯成大小相等的小正方行.且没有剩余每个小...立即要答案:把长24厘米.宽30厘米的长方形木板锯成大小相等的小正方行.且没有剩余每个小正方形 哪些蔬菜是转基因 若直线的倾斜角为a,且sina+cosa=-1/5,则直线的斜率答案要舍掉-4/3 单独完成一项工程,甲可比规定时间提前2天完成,乙则要超过规定时间3天才能完成,如果甲、乙两人合作2天后,剩下的由乙单独做,那么刚好在规定时间完成,这项工程如果甲、乙两人合作要多少 草虫的村落【现在要】联系上下文和中心思想,你认为作者得意什么? 谢谢大家,快一些. a是直线l的倾斜角,且sina+cosa=1/5,求直线的斜率我解出来是-4/3或-3/4,为什么要舍后者 生命很短的一种昆虫好像只活几天也好像只活在夏天名字忘记了其它的昆虫也可以 转基因蔬菜都有哪些?说全一点,还有要怎样辩别每种蔬菜是否是转基因?为什么全是复制来的呢 用字组词,填在括号里,使句子通顺完整.秋天的西山,( )格外美丽风 这次到海南,我看到了蓝天.碧水.沙滩,领略了南国的( )不管( )酷暑,它总是一大早就去锻炼.严事先不注意防范,才会出 一件工作,甲队单独做20天完成,乙队单独做30天完成,甲、乙工作时间之比是( ),甲、乙工作效率之比是( ) . 被同学嘲笑怎么办我跟班上的一个同学关系原本不错,可是一次数学考试,我有一个笔误老师没给扣分,而他有一个笔误老师就给他扣了分,从那以后他就开始疏远我,现在经常和别的同学一起嘲 根据括号里所给的词填空,使句子完整、通顺.No one in the room ______(know) the girl.2.How long are they staying in China?They ____(plan)to stay here for about half a year.3.连词成句I ,Saturday ,will ,go ,to ,home ,this ,your ,(.)_ 一项工程 甲单独做20天完成,乙单独做30天完成.甲乙两队完成这项工程所用的时间比是( ),甲乙两队的工作效率比是() 五年级上册数学天天练的42页掉了,求题目和答案我会追加分的,我找到题目了,求答案。。。。。。。。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘