`
xiang37
  • 浏览: 426792 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle Forms基本操作

 
阅读更多

 

第一步   当然是建表了 

example   :   --   create   table   

drop   table   t_tname; 

create   table   t_tname(xh     number(2),                     --   序号 

                                      xm         varchar2(10),               --   姓名 

                                      csrq     date,                               --   出生日期 

                                      bz         varchar2(100),             --   备注 

        constraint   pk_t_tname   primary   key(xh)); 

下面都以表格   t_tname   为例 

 

第二步   就是实现功能了 

打开form   builder   前期准备工作 

首先要有一个画布、窗口(假如将其名字名为cc_main,w_main)两者必须对应,然后就是添加数据块(就是

 

选择你建立的表格)布局画面,按照提示一步一步完成了,最后将你需要实现什么功能添加功能按钮,放在

 

另外一个非数据库块 

 

然后就是代码编写了。 

1.WHEN-NEW-FORM-INSTANCE(进入FROM时执行)   所要做的就是初始化窗口和一些自己需要的查询 

    1.1   将初始化窗口写成一个过程 

 

PROCEDURE   Prc_Init_Windows   IS 

 

BEGIN 

    Set_Window_Property(Forms_Mdi_Window,TITLE, 'WINDOW_NAME ');             --设置多文档窗

 

口标题 

    Set_Window_Property(Forms_Mdi_Window,WINDOW_STATE,maximize);         --设置多文档窗口最

 

大化 

    Set_Window_Property( 'W_Main ',WINDOW_STATE,maximize);                         --设置主

 

窗口最大化 

    :System.Message_Level:= '15 ';                                                           

 

              --设置信息提示级别 

END; 

然后直接调用过程在WHEN-NEW-FORM-INSTANCE触发器里 

--   code   

Prc_Init_Windows; 

GO_BLOCK( 't_tname '); 

SET_BLOCK_PROPERTY( 't_tname ',INSERT_ALLOWED,PROPERTY_false); 

SET_BLOCK_PROPERTY( 't_tname ',UPDATE_ALLOWED,PROPERTY_false); 

execute_query;     --   内置子程序执行查询(查询所有记录) 

 

2.添加   (所要做的就是保证序号不能为空,关键字) 

两种操作方法一种直接在界面上输入,二种弹出另外一个窗口进行操作 

就讲第一种吧,定义一个form参数p_xh   (在对象导航器里面定义) 

declare 

    nXH NUMBER(2); 

BEGIN 

 

    GO_BLOCK( 't_tname '); 

    SET_BLOCK_PROPERTY( 't_tname ',INSERT_ALLOWED,PROPERTY_TRUE); 

    SET_BLOCK_PROPERTY( 't_tname ',UPDATE_ALLOWED,PROPERTY_false); 

    last_record; 

    create_record; 

    select   max(xh)   into   nXH   from   t_tname; 

    :parameter.p_xh   :=   nXH; 

    :t_tname.xh   :=   :parameter.p_xh; 

 

END; 

 

在t_tname数据块中添加WHEN-NEW-RECORD-INSTANCE触发器 

    if   get_block_property( 't_tname ',insert_allowed)   =   'true '   then 

        if   :t_tname.xh   is   null   then 

            :parameter.p_xh   :=   :parameter.p_xh   +   1; 

            :t_tname.xh   :=   :parameter.p_xh; 

        end   if; 

    end   if; 

 

3.修改 

    GO_BLOCK( 't_tname '); 

    IF   :t_tname.XH   IS   NOT   NULL   THEN 

        SET_BLOCK_PROPERTY( 't_tname ',INSERT_ALLOWED,PROPERTY_FALSE); 

        SET_BLOCK_PROPERTY( 't_tname ',UPDATE_ALLOWED,PROPERTY_TRUE); 

    END   IF; 

 

4.删除 

 

    GO_BLOCK( 't_tname '); 

    IF   :t_tname.XH   IS   NOT   NULL   THEN 

        SET_BLOCK_PROPERTY( 't_tname ',delete_ALLOWED,PROPERTY_true); 

        delete_record; 

        commit; 

        SET_BLOCK_PROPERTY( 't_tname ',delete_ALLOWED,PROPERTY_false); 

    END   IF; 

 

5.保存 

    GO_BLOCK( 't_tname '); 

    COMMIT; 

    SET_BLOCK_PROPERTY( 't_tname ',delete_ALLOWED,PROPERTY_FALSE); 

    SET_BLOCK_PROPERTY( 't_tname ',INSERT_ALLOWED,PROPERTY_FALSE); 

    SET_BLOCK_PROPERTY( 't_tname ',UPDATE_ALLOWED,PROPERTY_FALSE); 

 

6.撤消 

DECLARE 

    P_WHERE       VARCHAR2(200); 

BEGIN 

    GO_BLOCK( 't_tname ');       

    CLEAR_BLOCK(NO_COMMIT); 

    P_WHERE   :=   GET_BLOCK_PROPERTY( 't_tname ',DEFAULT_WHERE); 

    SET_BLOCK_PROPERTY( 't_tname ',DEFAULT_WHERE,P_WHERE); 

    EXECUTE_QUERY; 

END; 

 

7.查询 

 

以姓名和出生日期为字段进行查询,从新添加一个窗口和画布,一个查询非数据块(例如块名为

 

BLK_QUERY) 

 

DECLPARE 

    P_WHERE       VARCAHR2(200)   :=   '1=1 '; 

BEGIN 

    IF   :BLK_QUERY.XM   IS   NOT   NULL   THEN 

        P_WHERE   :=   P_WHERE|| '   AND   XM   =   '||CHR(39)||:BLK_QUERY.XM||CHR(39); 

    END   IF; 

    IF   :BLK_QUERY.CSRY   IS   NOT   NULL   THEN 

        P_WHERE   :=   P_WHERE|| '   AND   TO_CHAR(CSRY, ' 'YYYYMMDD ' ')   =           

 

'||CHR(39)||TO_CHAR(:BLK_QUERY.CSRY, 'YYYYMMDD ')||CHR(39); 

    END   IF; 

 

    GO_BLOCK( 't_tname '); 

    CLEAR_BLOCK(NO_VALIDATE); 

    SET_BLOCK_PROPERTY( 't_tname ',DEFAULT_WHERE,P_WHERE); 

    EXECUTE_QUERY; 

END; 

分享到:
评论

相关推荐

    migrating oracle forms 4.5 to 6i

    在企业级应用开发领域,Oracle Forms作为一款功能强大且灵活的应用开发工具,在多个版本迭代过程中积累了大量的用户基础与应用场景。随着技术的发展与需求的变化,从早期版本Oracle Forms 4.5升级到更先进的6i版本...

    Oracle Forms开发常用技巧

    首先,手动提交Request是Oracle Forms中处理后台任务的关键操作。这通常涉及到与Oracle Request Manager的交互,用于调度并发程序执行。使用APPS.FND_REQUEST.SUBMIT_REQUEST函数可以实现这一目标。该函数接收105个...

    Oracle Forms Builder 开发实战

    1. **Oracle Forms基础**:首先,我们需要了解Oracle Forms的基本概念,包括表单对象(如按钮、字段、标签等)、事件驱动编程以及PL/SQL在Forms中的应用。表单是Oracle Forms的基础,它是由一系列可交互的对象组成的...

    OracleForms基础

    以下是OracleForms的一些基础知识和关键概念: 1. **基本对象概念**: - **Items**:Items是用户界面中的基本元素,如文本框、复选框或按钮,它们允许用户输入数据或与应用交互。 - **Blocks**:Blocks代表数据库...

    深入浅出Oracle之Forms开发指南

    通过这本书,读者不仅可以学习到Oracle Forms的基本概念和开发流程,还能深入了解如何在Oracle EBS环境下实现高效且可靠的业务逻辑。对于那些希望提升Oracle Forms开发能力的专业人士来说,这是一份宝贵的资源。

    Oracle Forms Builder开发文档

    - **Event Handling**:Oracle Forms的核心是事件驱动的,开发者可以编写触发器来响应用户操作或系统事件。 - **Error Handling**:通过异常处理机制,可以捕获并管理运行时错误。 4. **高级特性**: - **Pre- ...

    ORACLE FORMS D2K範例程式

    2. **PL/SQL支持**:Forms与Oracle的PL/SQL语言紧密结合,允许开发者编写复杂的业务逻辑和数据库操作。 3. **数据绑定**:可以方便地将表单控件与数据库表或视图的字段进行绑定,实现数据的动态显示和更新。 4. **...

    Oracle Forms在1580mm热轧生产线上的应用.pdf

    安装Oracle Forms需要按照特定顺序进行,首先是Oracle Log,它是Oracle Application Server的基础,负责日志记录和错误追踪。接着安装Oracle Application Server,它提供了运行Forms服务的环境,允许Forms应用程序在...

    Oracle9iDS Forms 开发人员参考指南

    ### Oracle9iDS Forms 开发人员参考指南 ...通过阅读本书,读者不仅能够掌握 Oracle9iDS Forms 的基本操作,还能够深入了解其内部机制,从而更好地利用这一强大的工具来构建高效稳定的企业级应用程序。

    Oracle forms & reports公共內置包手冊說明(英文)

    在"Oracle forms & reports Common Built-in Packages(Release 6i)"中,我们探讨的是这个版本中内置的公共包,它们为开发者提供了丰富的功能,以便更高效地处理数据库交互、用户界面操作和其他业务逻辑。 一、...

    Oracle_Forms与Reports高级开

    3. **PL/SQL支持**:Forms与PL/SQL紧密集成,可以编写存储过程、函数和包,以处理复杂的数据操作和事务控制。 4. **数据绑定**:可以直接将表单控件与数据库表的字段关联,实现数据的实时显示和更新。 5. **图形...

    Oracle Form guide (Outside Training).

    这份指南可能包含了从基础知识到高级技巧的全方位教程,旨在帮助用户理解和掌握Oracle Forms的开发和应用。 Oracle Forms的核心特性包括以下几点: 1. **图形化界面**:Oracle Forms提供了直观的图形化界面,允许...

    Oracle-Forms-Material.pdf

    ### Oracle Forms:构建高效数据库应用的关键工具 #### 定义与功能 Oracle Forms是一种图形用户界面(GUI)...通过结合Oracle数据库的强大功能,Oracle Forms为构建高性能、安全可靠的数据库应用提供了坚实的基础。

    新Oracle Form官方开发标准培训文档(完整版本)

    1. **Oracle Forms基础**:介绍Oracle Forms的架构,包括Form Builder环境,以及如何创建和设计基本的表单。 2. **图形用户界面(GUI)元素**:讲解如何添加、配置和布局各种GUI元素,如文本字段、按钮、列表框、复...

    总结java程序中操作Oracle数据库的常用操作1

    这篇博文主要总结了Java程序中与Oracle数据库交互的一些基本操作。通过`PersonCreditComplainDao.java`这个文件名,我们可以推测这是一个Java Dao(数据访问对象)类,它负责与数据库进行具体的交互。以下是关于Java...

    深入浅出Oracle_EBS之Forms开发指南.

    通过以上内容,我们可以得知,该文档是Oracle EBS Forms开发人员的重要指南,涵盖了从基础搭建到高级组件使用及开发的全面内容。文档不仅是技术细节的描述,同时也是在特定Oracle ERP环境下的最佳技术实践的传达。...

    从Oracle的FORM中调用REPORT.rar

    本知识点将详细讲解如何在Oracle Forms中集成和调用Oracle Reports,以便用户能够从表单直接运行报表,提高工作效率。 首先,Oracle Forms是Oracle Application Development Framework (ADF)的一部分,它提供了一个...

Global site tag (gtag.js) - Google Analytics