【问题标题】:Oracle forms - values not populated for undisplayed items in a data blockOracle 表单 - 未为数据块中未显示的项目填充值
【发布时间】:2014-05-13 16:35:29
【问题描述】:

我有一个基于 1 个单一数据库表的简单数据块。

例子:

表 T 有 5 列 A、B、C、D 和 E。

我在控制块(非数据库数据块)中使用两个文本字段,用户在其中键入 A 和 B 的值并单击搜索按钮。

基于文本框中的 A、B,我从表 T 中查询并获取 A、B、C、D、E 并将它们存储在我的数据块中,同时仅显示 C、D 和 E。[注意这里查询检索 A、B、C、D 和 E,尽管只显示 C、D 和 E]

以下是我所做的:

1) 使用数据块向导,将表中的所有列(A、B、C、D、E)导入数据块。

2) 使用布局向导,导入除两列 (A,B) 之外的所有列以显示在画布上。

当我在数据块中插入一条记录并执行 COMMIT_FORM 时,未显示的两列(上面的 [2])填充了一个 NULL 值。

我的问题是为什么会发生这种情况,我应该怎么做才能在插入时将 A 和 B 也填充到表中?

【问题讨论】:

  • 期望 A 和B 有什么价值?您可以创建一个pre-insert 触发器来自己填充它们。
  • @GriffeyDoy:这是正确的,正是我所做的。谢谢。

标签: sql forms oracle oracleforms


【解决方案1】:

如果 A 和 B 的值应该是两个文本字段之一,那么您应该将 A 和 B 的初始值设置为相应的项目。如果您查询 3 条记录并添加第 4 条记录,则初始值将触发,并且将获得所需的值。

【讨论】:

  • 谢谢。我还没有尝试过,但这听起来更像是一个黑客。 GriffeyDog 在评论中的解决方案对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-30
  • 1970-01-01
相关资源
最近更新 更多