Oracle Form 在尝试将数据插入表时出现错误

问题描述 投票:0回答:1

当尝试通过数据库表中的表单插入数据时,我使用 Oracle Form Builder 创建了一个表单。虽然数据正在插入并且我保存的成功消息也正在发送,但是当我尝试关闭表单时,Oracle 弹出窗口会询问我是否要保存更改,尽管我在插入数据后已经在代码中提交了,如果我单击“是”,则会出现 Oracle 错误。请帮助我理解这里的问题,并帮助我解决问题。

还请帮助我提供任何合适的 PDF 或免费课程/网站来学习 Oracle 表单开发。

oracle forms oracle10g oracleforms oracle-ebs
1个回答
0
投票

简短回答: 尝试一下

EXIT_FORM(NO_VALIDATE);

长答案: 看起来您可能会自己手动处理插入,而不是让表单在提交时自动执行。如果您使用数据库数据块,则表单将准备好保存和/或插入任何更改。如果您离开,它会识别出已进行更改,但未执行提交。

确实有几种方法可以解决这个问题,例如找出发生插入错误的原因并让表单处理更新。由于您已经有了工作插入并且确信需要保存的内容已保存,因此最好简单地绕过该错误。

在 ON-EXIT 触发器中,或者无论您有尝试退出表单的代码行,我想您都有一行调用

EXIT_FORM;
。尝试将
NO_VALIDATE
选项添加到该调用
EXIT_FORM(NO_VALIDATE);
中。这将忽略更改检查并直接退出屏幕。您甚至可以在调用 EXECUTE_QUERY 时使用它。我建议使用内置帮助工具来查看您拥有的不同类型的选项。在另一种情况下可能会派上用场。

请记住,如果用户能够尝试通过其他方式保存表单,则此方法不会阻止插入错误的发生。我们只是忽略了提示消息的检查,如果您说“是”,则会导致错误。防止插入和更新自动发生的一种方法是,将 ON-INSERT 和 ON-UPDATE 触发器添加到您的块中,然后简单地输入

NULL; 
所以他们基本上什么都不做。

© www.soinside.com 2019 - 2024. All rights reserved.