网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.oracle HA应用的方案参考(1).
.本地分区索引如何确定表空间(2).
.连接oracle10g免安装客户端解决办.
.通过LEI技术实现NOTES与SQL2000数.
.oracle学习笔记(1)-数据备份与恢.
.RedHat Linux下Oracle启动脚本的.
.如何用grub引导非第一个硬盘上的.
.分区大小调整完全手册.
.如何删除具有特殊文件名的文件.
.Oracle锁简单介绍.
.W2k Server下Oracle 9iAS安装报告.
.让你的连接查询加速.
.Oracle--SQL行列转换实战.
.属性类的简单案例.
.ORACLE之APACHE虚拟服务器设置.
.oracle statspack实例(一).
.Uedit32编辑器与SQLPlus结合使用.
.Oracle内存结构(二)----Shared P.
.oracle最重要的9个动态性能视图.
.Linux 磁碟配额( Quota ).

用ORACLE*Forms 和ORACLE*Graphics实现数据与图形动态显示

发表日期:2008-2-9



  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 中 还 有 许 多 其 他 的 触 发 器 及 内 部 例 程, 需 要 在 实 践 中 不 断 探 索。
上一篇:如何有效地利用数据字典 人气:532
下一篇:关于 SELECT N 问题 人气:652
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐