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>
我是 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>