如何使用Form Builder和PL / SQL插入记录?

时间:2009-02-27 16:31:12

标签: sql oracle formbuilder ora-01400

我正在慢慢学习SQL以及如何使用表单构建器6.情况是我在表格中有一个名为'players'的简单表我有三列:

  • player_no(主键)
  • 位置
  • 目标

在表单构建器6中,我使用这三个字段创建了一个非常简单的表单。表格名为'TEAM'。在表格的底部,我有一个标有“添加”的按钮。目标是让用户输入player_no,位置和目标,然后单击“添加”。然后这些信息将进入我的表格。

到目前为止,所有尝试都失败了。我在按钮上设置了一个触发器(WHEN_MOUSE_CLICK)。然后我输入了以下代码:

BEGIN
  INSERT INTO players ( player_no )
  VALUES ( :TEAM.player_no )
END

为了测试它,我只使用了一个(player_no)字段。然后编译时没有错误当我运行表单并输入player_no并按下按钮时我在状态栏中收到以下错误:

frm-40735:WHEN-MOUSE-CLICK触发器引发未处理的异常ORA-01400

我做错了什么吗?我是SQL和Form Builder的新手,所以非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

ORA-01400: cannot insert Null似乎您的某个字段不为null,并且您在插入时省略了它们。或值:插入期间TEAM.player_no为空。

此外,从web:

  

FRM-40735:引发ON-INSERT触发器   未处理我们遇到过类似的问题   自11.5.9。我们清除了Jinitiator   缓存和临时Internet文件   (工具>互联网选项然后   临时互联网文件清楚   文件按钮)。似乎工作。

答案 1 :(得分:1)

使用表单生成器的一个好处是,您几乎总是需要自己编写DML语句。

只需根据表创建块 - 然后用户可以添加和修改任意数量的记录,然后当它们保存(即COMMIT)时,Forms运行时会自动计算出保存所需的INSERT和UPDATE所需的内容。变化。