DEVELOPER/2000 使用經驗7條
2024-07-21 02:38:16
供稿:網友
Oracle Developer/2000 是ORACLE 第 二 代 的Client/Sever 應 用 開 發 工 具, 它 提 供 了 一 種 面 向 對 象 的 開 發 環 境, 本 人 曾 經 使 用ORACLE DEVELOPER/2000 完 成 了<< 日 照 港 物 資 管 理 信 息 系 統>> 的 軟 件 編 程, 在 編 程 過 程 中 總 結 出 了 一 些 小 小 的 經 驗, 把 它 們 寫 出 來 與 大 家 分 享, 并 希 望 能 對 初 學 者 有 所 幫 助。
1 . 如 何 屏 蔽 系 統 提 示 信 息 ?
---- 在 運 行 一 個FORM 時 往 往 會 彈 出 一 些 報 警 器, 但 提 示 的 并 非 出 錯 信 息, 屏 蔽 這 些 報 警 器 的 方 法 是 將 系 統 變 量:SYSTEM.MESSAGE_LEVEL 的 值 設 置 為'25'。
2 . 在 編 寫PL/SQL 代 碼 中 使 用SELECT 語 句 時 如 何 避 免 例 外 發 生 ?
---- 在 使 用SELECT 語 句 為 某 變 量 賦 值 時, 往 往 會 出 現"NO_DATA_FOUND" 和"TOO_MANY_ROWS" 等 異 常 情 況, 使 用SELECT 語 句 分 兩 種 情 況: 第 一 種 情 況, 判 斷 某 表 中 是 否 有 符 合 某 一 條 件 的 記 錄, 這 時 使 用 聚 組 函 數MAX 就 可 以 避 免 以 上 兩 個 例 外 的 發 生。 其 格 式:SELECT MAX( 列1),MAX( 列2)... ... INTO 變 量1, 變 量2... ... FROM 基 表 WHERE 條 件, 當 沒 有 符 合 條 件 的 數 據 時, 該 語 句 返 回 空, 即 變 量1, 變 量2... ... 的 值 均 為 空, 而 不 會 出 現"NO_DATA_FOUND" 例 外, 另 外 使 用 聚 組 函 數MAX 的 同 時 也 就 避 免 了"TOO_MANY_ROWS" 例 外。 第 二 種 情 況,SELECT 語 句 中 含 聚 組 函 數SUM, 這 時 如 果 使 用 了GROUP BY 和HAVING 子 句, 當 沒 有 符 合 條 件 的 記 錄 時 將 發 生"NO_DATA_FOUND" 例 外, 此 時 避 免 例 外 的 辦 法 是: 去 掉GROUP BY 和HAVING 子 句, 將HAVING 子 句 的 條 件 加 到WHERE 子 句 中。 這 樣 在 使 用SELECT 語 句 時 就 不 必 再 額 外 增 加 一 段 處 理 例 外 的 代 碼, 從 而 簡 化 的 代 碼 的 編 寫。
3 . 當 使 用 主 從 塊 時, 如 何 使 從 塊 自 動 提 交 ?
---- 在FORM 設 計 時 有 時 需 要 用 到 主 從 塊, 在 主 從 塊 錄 入 時 每 當 鼠 標 從 從 塊 移 到 主 塊 準 備 錄 入 一 條 新 記 錄 時, 總 是 彈 出 一 報 警 器, 問 你 是 否 保 存 數 據, 從 而 影 響 錄 入 速 度, 將 該 報 警 器 去 掉 的 方 法 是: 在 過 程"CLEAR_ALL_MASTER_DETAILS" 中 的"CLEAR_BLOCK(ASK_COMMIT)" 即 清 除 從 塊 時 是 否 提 交 改 為"CLEAR_BLOCK(DO_COMMIT)", 這 樣 從 塊 錄 完 數 據 再 導 航 到 主 塊 錄 入 新 記 錄 時, 系 統 將 自 動 提 交 數 據, 而 不 再 出 現 上 述 提 示。
4 . 如 何 減 少FORM 所 占 磁 盤 空 間 ?
---- (1) 對 于 塊 中 只 用 于 查 詢 并 且 無 格 式 限 制 的 項, 設 置 為 顯 示 項。
---- (2) 保 存FORM 時 先 斷 開 與 數 據 庫 的 鏈 接, 然 后 在 保 存。 以 上 兩 種 方 法 均 可 減 小FORM 的 大 小, 尤 其 是 第 二 種 方 法 更 為 明 顯。 當 硬 盤 空 間 較 小, 或 將 程 序 備 份 到 軟 盤 上 時, 這 樣 作 是 很 有 意 義 的。
5 . 如 何 使 定 制 菜 單 的 主 菜 單 中WINDOWS 項 不 顯 示 ?
---- 在MAIN MENU 中 建 立 一 個 為WINDOWS 屬 性 的 菜 單 項, 這 樣 主 菜 單 中WINDOWS 項 就 不 再 顯 示。
6 . 如 何 使 不 同 布 局 的 報 表 顯 示 在 同 一 頁 上 ?
---- 復 雜 的 報 表 往 往 是 由 幾 部 分 組 成, 需 建 立 多 個 查 詢, 而 每 個 查 詢 都 對 應 著 一 個 布 局, 怎 樣 才 能 使 具 有 不 同 布 局 的 報 表 數 據 顯 示 在 同 一 頁 上 呢 ? 其 方 法 如 下: 第 一 步, 首 先 根 據 實 際 報 表 格 式 建 立 第 一 個 查 詢 組 的 布 局, 稱 為 布 局1, 然 后 依 次 再 建 立 起 其 他 查 詢 組 的 布 局, 分 別 稱 為 布 局2, 布 局3... ...。 注 意: 每 個 布 局 最 外 圍 的 單 選 框 不 要 去 掉。 第 二 步, 分 別 為 布 局2, 布 局3... ... 建 立 一 個 到 布 局1 的 定 位(ANCHOR), 即 選 中 工 具 欄 中 的ANCHOR, 鼠 標 單 擊 布 局2 的 單 選 框, 然 后 按 住 鼠 標 左 鍵 并 拖 動 鼠 標 到 布 局1 的 單 選 框 上( 可 以 選 擇 上 邊﹑ 下 邊﹑ 左 邊 或 右 邊), 松 開 鼠 標 按 鈕, 按 此 方 法 再 建 立 布 局3, 布 局4... ... 到 布 局1 的 定 位。 建 立 定 位 的 作 用 是 使 布 局2, 布 局3... ... 相 對 與 布 局1 的 位 置 保 持 不 變, 這 樣 就 使 具 有 不 同 布 局 的 報 表 數 據 顯 示 并 打 印 在 同 一 物 理 頁 上。
7 . 怎 樣 較 快 的 生 成FMX 文 件 ?
---- 用RUN 命 令, 一 次 只 能 生 成 一 個.FMX 文 件, 如 果 想 生 成 一 批.FMX 文 件, 這 樣 做 即 麻 煩 又 費 時, 一 個 生 成.FMX 較 快 的 辦 法 是: 先 打 開 要 運 行 的.FMB 文 件, 如 何 按 住SHIFT 鍵 將 這 些 文 件 全 部 選 中, 在 從 系 統 菜 單" 文 件" 中 選 擇 "ADMINISTRATION" 中"GENERATE" 即 可。