ITPub博客

首页 > 数据库 > Oracle > :system.form_status

:system.form_status

原创 Oracle 作者:YoungEric 时间:2007-10-04 09:04:05 0 删除 编辑

:system.form_status

p.s http://www.itpub.net/61129.html

[@more@]

系统变量:system.form_status代表了form的状态:'CHANGED', 'NEW', 'QUERY'。

按下默认[exit]键或选择默认菜单中的exit项时,程序执行的是do_key('KEY-EXIT')。
如果没有自定义key-exit触发器,do_key('KEY-EXIT')调用key-exit对应的默认built-in过程: exit_form。
exit_form实际上有三个重载过程:
exit_form; exit_form(commit_mode);exit_form(commit_mode, rollback_mode);
exit_form等于exit_form(ASK_COMMIT)。
它将检查system.form_status,如果不为'QUERY',弹出对话框提示是否保存变动。DO_COMMIT,NO_COMMIT,NO_VALIDATE参数将执行相应动作而不弹出对话框。

如果你想自定义退出过程,要做的就是:
创建key-exit触发器,在触发器中判断:system.form_status,执行相应动作或调用exit_form。
当然你如果只想简单的保存(或不保存)退出,调用参数的exit_form就行了,不用判断:system.form_status。
具体用例可以在forms builder的联机帮助中查到。

注意一点,:system.form_status只会随用户操作执行built-in过程而改变。
你在触发器或过程中使用insert,update语句直接修改数据库,form并不知道,:system.form_status并不改变。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10484922/viewspace-974686/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Form 开发问题
请登录后发表评论 登录
全部评论

注册时间:2007-12-18

  • 博文量
    79
  • 访问量
    214856