栏目分类
安装配置 | PLSQL | 备份恢复 | 性能调优 | 开发技术 | 资讯动态 | 考试认证 | 入门基础
排行榜
·如何直接解压.tar.gz文件
·Linux下的远程控制—VNC
·在VMware下配置显卡
·Linux挂载文件系统
·定时执行crontab使用方法详解
·ORACLE数据库备份方法
·PL/SQL入门教程
·Oracle存储过程返回结果集
·ORACLE数据库PROC编程经验介绍
·linux之间如何进行串口通讯
·ORACLE建库过程与操作
·oracle联机热备原理及rman增量备份原理
·如何实现数据库完整备份
·Oracle体系结构简介
·Oracle临时表使用补充
·从黑客角度检验oracle数据库
·Webmin--Linux下的用户管理工具
·mount使用指南
·利用Ghost复制您的Linux系统
·浅谈Oracle10G中的新事物:闪回恢复区

    您现在的位置: Linux宝库 >> Oracle >> 备份恢复 >> 文章正文
用ORACLE*Forms和ORACLE*Graphics实现数据与图形动态显示
Linux宝库 收集整理  作者:Linux宝库  时间:2007-12-31  收藏本站
来自:http://doc.linuxpk.com/51433.html
联系:linuxmine#gmail.com
分类:[备份恢复]
  1 . 引 言

  ---- ORACLE 关 系 数 据 库 管 理 系 统 是 目 前 世 界 上 最 流 行 的 高 性 能 数 据 库 管 理 系 统 之 一,Developer/2000 是ORACLE 公 司 推 出 的 集 成 化 软 件 开 发 和 运 行 环 境。 ORACLE *Forms 是Developer/2000 的 一 部 分, 它 是 一 种 功 能 丰 富, 用 于 构 建 应 用 的 工 具 产 品, 产 品 化 屏 幕 处 理 存 储 在 数 据 库 中 的 数 据。 在 许 多 实 际 应 用 中, 往 往 需 要 将 数 据 用 很 直 观 的 图 形 表 示 出 来。 例 如: 饼 图, 折 线 图, 直 方 图 等, 从 而 使 数 据 及 其 比 例 关 系 一 目 了 然。Developer/2000 的 另 一 工 具ORACLE *Graphics 提 供 了 丰 富 的 图 形 化 表 示 数 据 的 方 法, 它 可 以 从 各 种 数 据 源 获 得 数 据, 并 可 以 与Forms 模 块 结 合 起 来, 更 有 效 地 表 示 数 据。

  ---- 笔 者 曾 参 加 某 企 业 决 策 支 持 系 统 的 开 发 工 作, 通 过 在Forms 中 调 用Graphics 中 的 图 形 功 能, 使 数 据 表 示 更 为 直 观, 并 可 根 据Forms 中 数 据 的 变 化 来 动 态 地 显 示 图 形, 从 而 帮 助 决 策 人 员 进 行 数 据 分 析, 达 到 支 持 决 策 的 目 的。 下 文 是 笔 者 在 实 际 开 发 中, 完 成 动 态 显 示 图 形 功 能 制 作 过 程 中 的 一 点 体 会。

  2. 动 态 图 形 显 示 的 实 现

  ---- 本 例 假 设 有 一 个 产 品 销 售 数 据 表SALES, 并 含 有 销 售 时 间, 产 品 名 称, 销 售 量 三 个 字 段( 销 售 时 间 以 年 为 单 位), 其 数 据 字 典 为

  字 段 名

  字 段 长 度

  字 段 含 义

  TIME

  number(4)

  销 售 时 间

  NAME

  char(10)

  产 品 名 称

  AMOUNT

  number(10,2)

  销 售 量

  ---- 启 动Graphics, 建 立 一 个 新 的 图 形 文 件, 并 命 名 为chart.ogd。 在Queries 中 定 义SQL 查 询 语 句 以 显 示 图 形, 并 在 图 形 的 属 性 栏 中 定 义x 轴 和y 轴 所 需 显 示 的 数 据。 本 例 将 在x 轴 显 示 产 品 名 称,y 轴 显 示 各 种 产 品 的 销 售 量。

  ---- 启 动Forms, 建 立 一 个 新 的 Forms 应 用 文 件sale.fmb。 在 画 布CANVAS1 中 填 加 一 个List Item 控 件LIST1 , 并 在LIST1 的 属 性 中 填 充 所 要 显 示 的 时 间 值。 然 后 填 加 一 个Chart Item 控 件chart_area1, 并 调 节 好chart_area1 的 边 界 和 大 小, 以 显 示 图 形chart.ogd。

  ---- 在Forms 中 调 用 图 形, 必 须 与Graphics 进 行 参 数 值 的 传 递。 首 先 回 到Graphics 中, 在chart.ogd 中 设 置 如 下 结 构:

  ---- (1) 在 参 数 表Parameters 中 定 义 参 数。 本 例 需 传 递 时 间 参 数, 并 设 其 为 m1, 在 参 数 表 中 设 置 其 属 性

  parameter m1

  name m1

  type number

  initial value 1998

  ---- (2) 定 义 图 形 的 查 询 语 句。 在Queries 中 定 义"query0" 查 询, 如 下 所 示:

  select product,amount

  from sales

  where time=:m1

  ---- (3) 定 义 过 程。 在 Program Unit 中 编 写 update_chart 过 程, 完 成 图 形 随 参 数 变 化 显 示 的 功 能。

  PROCEDURE update_chart IS

  BEGIN

  og_execute_query(og_get_query('query0'));

  END;

  ---- 完 成 以 上 工 作 后, 回 到Forms 中, 首 先 打 开orawin95\forms45\plsqllib\og.pll 文 件, 然 后 定 义 如 下 结 构:

  ---- (1) 在LIST1 的 属 性List elements 中 填 写 列 表 框 中 所 要 显 示 的 数 值, 然 后 设 置WHEN_LIST_CHANGED 触 发 器, 并 编 写 触 发 器 代 码, 如 下

  pl ParamList;

  pl := Get_Parameter_List('plist');

  IF NOT Id_Null(pl) THEN

  destroy_parameter_list(pl);

  END IF;

  pl := Create_Parameter_List('plist');

  add_parameter(pl,'m1',text_parameter,:blk1.list1);

  og.interpret('c:\chart.ogd','chart_area1','

  update_chart;',true,pl);

  ---- (2) 在Forms 中 设 置WHEN_NEW_FORM_INSTANCE 触 发 器, 完 成 初 始 化 工 作, 其 程 序 如 下:

  Set_Window_Property (Forms_MDI_Window,

  Window_State,Maximize);

  Show_Window ('sales');

  set_window_property('sales',window_state,

  maximize);

  og.open('c:\chart.ogd','chart_area1');

  ---- (3) 在Forms 中 设 置POST_FORM 触 发 器, 用 来 在 程 序 结 束 时 关 闭 图 形。

  og.close('c:\chart.ogd','blk1.chart_area1');

  ---- 通 过 以 上 过 程, 动 态 图 形 显 示 得 以 实 现。 当 改 变 时 间 列 表 中 的 数 值 时, 图 形 随 着 时 间 的 改 变 而 变 化, 显 示 另 一 个 时 间 相 应 的 各 种 产 品 的 销 售 量 的 值。

  3. 结 论

  ---- 本 文 介 绍 了 一 些Developer/2000 中Forms 和Graphics 的 开 发 方 法 及 使 用 技 巧。 当 然Developer/2000 中 还 有 许 多 其 他 的 触 发 器 及 内 部 例 程, 需 要 在 实 践 中 不 断 探 索。

  
本文来自:http://doc.linuxpk.com/51433.html
 
     最新更新
·Oracle课程描述
·Oracle数据库的灾难恢复
·Oracle8i概述
·ORACLE数据库备份技术
·Oracle数据库系统使用经验六则
·在oracle中运行OS命令
·Oracledba日常管理
·ORACLE数据库的启动和关闭
·如何在两个oracle服务器之间交换数据?
·关于恢复数据库的说明
·Re:关于oracle的备份与恢复问题
·Re:紧急求救:oracle的数据导入!
·其他数据库向Oracle8i的转移分析
·Oracle8.0使用技巧
·ORACLEFORSUNSOLARIS维护手册
·在ORACLE数据库中实现从非归档模式到归档模式的转化
·UNIX平台上分布式数据库管理的经验
·Oracle8的不安全因素及几点说明
·OracleCRM解决方案
·ORACLE8的分区管理
·回滚段问题
·利用角色增强应用系统安全性
·数据库服务器的安全
·sun上oraclecluster
·手工建立ORACLE数据库步骤
·关于SELECTN问题
·rem--创建回滚段
·RedHat6.0上安装Oracle8
·如何有效地利用数据字典
·用ORACLE*Forms和ORACLE*Graphics实现数据与图形动态显示