FRM-40350 查询导致没有记录被检索

FRM-40350 Query Caused No Records to be retrieved

我是 Oracle 表单的新手。我已将我的表格连接到数据库。然后创建数据块选择数据块向导。我选择了我的数据库 table 订单。我在 sqlplus 中的这个 ORDERS table 中插入了值。通过浏览器创建订单数据块后,我 运行 我的表单,我单击菜单上的执行查询,但它没有从我的数据库 table 中获取数据。它说, FRM-40350 查询导致没有检索到记录。但是在 sqlplus 中,我检查了行创建成功和列是否填写了值,并且我的申请表已连接到我的数据库。那为什么我的执行查询不起作用?我该如何解决这个问题?

如果您在 SQLPlus 和 Forms 中都连接到同一个用户(您可能是,否则 Forms 将看不到 table 并且您将无法将数据块基于它) ,在 SQLPlus 中插入行后,您可能没有 COMMIT


您发布的代码应该得到修复(无效的数据类型,缺少列名,不要将字符串插入 DATE 数据类型列):

SQL> CREATE TABLE ORDERS(
  2      order_id     NUMBER(20),
  3      customer_id  NUMBER(20),
  4      order_date   DATE, -- NUMBER(20),  --> date, not number
  5      order_status VARCHAR2(20),
  6      order_mode   VARCHAR2 (200),
  7      SALES_REP_ID NUMBER (20) );

Table created.

SQL> INSERT INTO orders (
  2      order_id,
  3      customer_id,
  4      order_date,
  5      order_status,
  6      order_mode,
  7      sales_rep_id
  8  ) VALUES (
  9      0001,
 10      01,
 11      date '2008-02-11',  -- not '11-FEB-2008', it is a STRING
 12      '5',
 13      'direct',
 14      158
 15  );

1 row created.

这就是你所缺少的:

SQL> COMMIT;

Commit complete.

SQL>