熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

ORACLE*Forms 中List Item 加載數據的兩種方法

2022-06-13   來源: Oracle 

  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 觸 發 器 並 調 用 此 過 程 即 完 成 了 此 工 作 其 結 果 顯 示 如 圖 所 示

From:http://tw.wingwit.com/Article/program/Oracle/201311/18595.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.