在 oracle 表单中显示记录集

Posted

技术标签:

【中文标题】在 oracle 表单中显示记录集【英文标题】:Displaying recordset in oracle forms 【发布时间】:2014-07-03 15:42:53 【问题描述】:

我想在表单上显示光标的结果。 我有代码:

(WHEN-MOUSE-CLICK) 
DECLARE
    job EMP.JOB%TYPE;
    sal EMP.SAL%TYPE
    CURSOR getJobs IS
        SELECT job, sal FROM emp;
BEGIN
   FOR rec IN getJobs
   LOOP
       -- append row to data grid or some element
   END LOOP;
END;

我可以使用哪个元素来做到这一点,或者我必须使用不同的方法?

【问题讨论】:

【参考方案1】:

您在 Oracle Forms 中没有任何网格控件,因此您必须使用多记录数据库块。好处是您不需要创建光标并通过循环填充它。相反,如果您正确设置了 block 属性,表单会为您执行此操作。在这种简单的情况下,您只需将数据源属性设置为 emp,但如果您有 where 子句,那么您可以在 where 子句属性中指定它。有关块属性的更多信息,请查看表单帮助。最后要填充块,您需要移动到数据库块并使用内置的 Execute_Query 执行查询:

(WHEN-MOUSE-CLICK) 
Go_Block(<NAME_OF_YOUR_BLOCK>);

Execute_Query;

【讨论】:

以上是关于在 oracle 表单中显示记录集的主要内容,如果未能解决你的问题,请参考以下文章

ADO 记录集数据未显示在表单上

在内存中,独立,断开连接的 ADO 记录集

如何在 Ms 访问子窗体中显示记录集数据

Access 中的 DoCMD.OpenForm - 使用 WHERE 打开具有有限记录集的表单

vb6 oracle9i 应用程序,逻辑错误记录集保持为空

Access 子表单中的字段名称填充了 vba 记录集