当前位置: 首页 > 知识库问答 >
问题:

如何使用Oracle forms(中间件)11gR2从Oracle表中填充文本项

柯波
2023-03-14

我正在使用Oracle和Oracle Forms Builder(中间件)两者11gR2。我正在创建一个采购记录系统。我有以下2个表格。

(a) product (master) : prodid(PK), prodname ...... etc.
(b) purchase (detail) : prodid(FK), quantity, ...... etc.

我的计划:所有产品详细信息都将在产品表中。购买表将仅用于输入购买信息。此表无法输入任何新产品。如果有任何新名称,则必须首先将该信息输入到产品表中。这样我就可以减少重复的名字。现在我在表单中与prodname(产品名称)列有关。

我仅使用购买表创建表单。此表没有prodname(因为我将此字段放在产品表中)列。但在数据输入过程中,他们需要看到产品名称!因此,我创建了一个文本项(表格,数据库-否)。然后我创建了LOV,附加到文本项,在表单中的prodid字段中输入prodid。

我运行表单。点击文本项,LOV出现,选择一个名称,点击确定。产品名称、产品id等。出现在他们的领域中。LOV运转良好。现在我只能输入数据,但更新有困难。我的意思是,如果我在文本项中输入一个名字(LOV),按执行查询,显示数据库中的记录,但文本项中的名字会消失。由于名字不在这里,更新起来不太舒服。

我认为LOV不是这里的好主意。可能我需要在某个地方使用PL/SQL触发器。但是我不明白。我搜索了谷歌,但没有运气。有人能给我任何想法或一些示例代码/触发器吗?

共有2个答案

蓝侯林
2023-03-14

基本上这是一个非常简单的任务,但由于缺乏经验,我遇到了困难。然而,我所做的是-

  1. 在画布中创建文本项(名称:product_name)
  2. 根据需要设置product_name的属性(数据库:否,......等)。
  3. 创建一个块级POST-QUERY触发器并编写PL/SQL块来填充字段。例如,我写了以下内容。

开始将prodname选择为:购买。product_name来自产品所在的产品。prodid=:购买。普罗迪德;结束;

就是这样,当在表单中执行execute_query时,它将从另一个表中引入产品名称。- 查询问题已解决。

现在,使用产品表创建一个LOV来显示产品名称和产品id。

这样我的两个问题(查询和数据输入)都解决了。我根据Sathya的建议和youtube上的视频(6分钟)https://www.youtube.com/watch?v=0nqldnGt8KA.

感谢Sathya和youtube。

富涛
2023-03-14

由于产品名称是非数据库项,因此在执行查询运行时,该字段将被清除,并且由于没有为该字段分配列,因此不会重新填充。

填充该字段的通常方法是有一个函数,该函数根据按下的id返回产品名称,并在POST-QUERY触发器中调用函数。

 类似资料:
  • 问题内容: 如何从文本文件填充? 问题答案: 非常模糊的问题。您是说要每行输入一个吗?如果是这样,则要使用BufferedReader之类的东西,请读取所有行,并将它们保存为String数组。创建一个新的JComboBox传入该String构造函数。

  • 在这里,我试图通过使用来填充我的对象数组。问题是,我得到了一个错误,指出数组在1处超出了索引 此外,文件中的每个标记都由一个空格分隔,这样我就可以在字符串数组中拆分标记,并在属性上进行拆分 文件内容 (名称,作者,发布,编号,版权,科学) 那么有人能帮我写代码吗?或者甚至建议另一种方法?

  • 因此,我试图在我的JavaFX应用程序中创建一个自定义节点,它从扩展而来,因此可以自己进行渲染。我一开始只是试着画一个文本“Hello world”在画布上,但可惜它没有出现,即使我可以通过鼠标事件处理程序确认应用程序中是否存在自定义节点。 简而言之,如果我将这个的一个新实例添加到一个

  • 我是javascript和jQuery新手。我已经加载了文件。我需要帮助循环通过所有的数据,并显示在一个HTML表中,当用户单击一个按钮。 我的表结构如下: 我的“jsondata.json”文件结构如下:

  • 我要填写一份来自。但是,ArrayList包含具有多个“变量”的对象(项)。 类项“变量”是字符串 这是我在另一个类中创建/填充ArrayList的内容 在第三个类中,我创建了另一个ArrayList并调用loadItems()方法,以便可以引用特定的项对象(即列表中元素0处的项对象)。 问题是这并没有填满数组列表 我知道对于ArrayList,你通常只会列出。添加();但每个对象都有多个变量,而