数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

ORACLE*Forms 中List Item 加载数据的两种方法


发布日期:2022年11月22日
 
ORACLE*Forms 中List Item 加载数据的两种方法

Developer/ 是ORACLE 公 司 推 出 的 集 成 化 软 件 开 发 和 运 行 环 境 它 主 要 包 括 个 集 成 化 应 用 开 发 工 具Forms( 数 据 表 格 生 成 工 具)Reports( 数 据 统 计 及 报 表 生 成 工 具)Graphics( 数 据 图 形 生 成 工 具) 笔 者 在 项 目 开 发 中 曾 以Developer/ 作 为 前 台 开 发 工 具 本 文 将 以Forms 为 例 介 绍 一 些Forms 的 开 发 技 巧

在 开 发 应 用 中 经 常 用 到List_Item 控 件 此 控 件 是 列 表 框 可 以 让 用 户 在 多 个 备 选 值 中 进 行 选 择 列 表 框 的 加 载 有 两 种 方 式 一 种 是 固 定 的 另 一 种 是 动 态 的

. 固 定 式 即 列 表 框 中 的 数 据 是 固 定 的 这 种 方 式 比 较 简 单 无 需 编 程 既 可 实 现 假 设 有 一 个List_Item 控 件 且 命 名 为List 如 图 所 示 在List 的 属 性List elements 中 填 加 要 选 择 的 数 据 项 即 可 达 到 目 的 当 开 发 人 员 对 数 据 库 较 熟 悉 或 数 据 库 表 中 的 数 据 项 比 较 固 定 时 可 采 用 此 种 方 式

. 动 态 式 即 列 表 框 中 的 值 会 随 着 数 据 库 表 中 数 据 项 的 变 化 而 变 化 此 种 方 式 的 通 用 性 较 强 可 以 满 足 用 户 的 需 要 在 实 际 应 用 中 较 常 用 的 是 此 种 通 用 性 的 方 式 本 文 将 举 一 个 实 例 来 说 明 此 种 方 法 的 实 现

假 设 有 一 个 产 品 销 售 数 据 表SALES 并 含 有 时 间(Time) 产 品 名 称(Name) 销 售 量(Amount) 三 个 字 段 如 表 所 示

时 间 产 品 名 称 销 售 量

彩 电

彩 电

冰 箱

冰 箱

空 调

空 调

为 了 分 析 需 要 现 要 求 用 列 表 框 把 所 有 产 品 的 名 称 显 示 出 来 我 们 建 立 一 个 过 程pl 并 用 游 标 来 实 现 此 功 能 过 程pl 的 程 序 代 码 如 下

PROCEDURE pl IS

cursor c is

select name from sales;

cnt number;

i number;

tname salesname%type;

BEGIN

clear_list(list);

open c;

select count(distinct name) into cnt from sales;

for i in t loop

fetch c into tname;

add_list_element(listitnametname);

end loop;

delete_list_element(listcnt+);

close c;

END;

在Forms 中 设 置WHEN_NEW_FORM_INSTANCE 触 发 器 并 调 用 此 过 程 即 完 成 了 此 工 作 其 结 果 显 示 如 图 所 示

上一篇:oracle批量插入数据

下一篇:教你怎么样卸载Oracle9i