【问题标题】:Restrict Decimals Oracle Forms 10g限制小数 Oracle Forms 10g
【发布时间】:2014-04-03 10:07:36
【问题描述】:

我正在使用 oracle 表单 10g。我想限制用户不要在一个字段中输入超过 3 位小数。应该使用 item 属性来完成限制。

例如, 当我们在日期列中输入字符时,表单会引发错误。同样,我想为小数提出一个内置异常。

【问题讨论】:

  • 我不想写任何 pl/sql 代码。我需要在输入时限制用户。
  • 您是指小数点 (.) 本身,还是小数点后的数字(如 .000)?
  • 小数点后的数字。
  • 如果您无法回答我的问题,请不要投反对票。我明确问过,是否有任何属性或java实现类限制超过3个小数。
  • 我会根据 stackoverflow 指南对任何“不清楚或无用”的问题投反对票。这不是对您个人的反映,也不是人身攻击,当然也不是因为无法回答您的问题 - 它只是对当前措辞的问题质量的看法。让你的问题更清楚,反对票将被删除。

标签: forms oracle oracle10g


【解决方案1】:

您能否解释一下为什么您不想使用 sql 格式掩码或编写 pl/sql 验证,因为这是在 Forms 中预期的处理方式。

我相信您可以通过使用 java.text.DecimalFormat 之类的东西或在 java 中使用字符串函数来做同样的事情,但这与 Oracle Forms 中的正常处理方式背道而驰。

【讨论】:

  • 因为,如果我添加格式掩码,如果值没有小数点,它将显示为 99.000。在这里,我不想向用户显示 000。我需要在进入时停下来。我不想在从现场导航时停下来。
【解决方案2】:

你能在某处添加以下内容吗.. If Length(replace(input_var,'.','..'))-Length(input_var) > 3 then fail else pass end if;

Input_var 是保存用户输入值的变量。 我从未处理过表单,但我认为您必须能够添加此类验证。

干杯 V

【讨论】:

  • 我不想写任何 pl/sql 代码。我需要在输入时限制用户。
  • @Shankar,没有人真正关心您是否“不想”编写任何“pl/sql 代码”。如果你要在一个可接受的解决方案上应用这样的约束,你将不得不给出某种理由。
猜你喜欢
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-25
  • 2021-10-16
  • 1970-01-01
  • 2013-09-01
相关资源
最近更新 更多