首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

循序漸進學習 PowerBuilder 6.0(3-0):IDE 整合開發環境與應用程式物件深度解析

     編輯:關於SqlServer

一、PowerBuilder 6.0 IDE 整合開發環境全景

PowerBuilder 6.0 採用 **PowerBar** 工具列為核心導航,整合多種 **Painter** (畫布/設計器) 於單一 MDI 視窗,支援專案式開發:

核心 Painter 速查

Painter工具列圖示用途核心物件
Application Painter應用程式圖示全域設定、啟動腳本、系統變數Application Object
Window Painter視窗圖示視覺化 UI 設計、控制項佈局、事件腳本Window Object
DataWindow Painter資料視窗圖示資料呈現/輸入/報表設計、SQL 生成、樣式DataWindow Object
Menu Painter選單圖示選單列/彈出選單設計、工具列關聯Menu Object
Function Painter函數圖示全域/物件層級函數定義、過載、存取層級Function Object
Structure Painter結構圖示使用者定義資料結構 (類似 C struct)Structure Object
Library Painter程式庫圖示PBL 物件庫管理、匯入/匯出、遷移、版本控制Library (PBL)
Database Painter資料庫圖示資料庫連線、表/視圖/索引管理、SQL 編輯器Database Profile
Project Painter專案圖示編譯部署設定 (EXE/DLL/PBD)、資源檔、版本資訊Project Object

工作區與輸出窗格

  • System Tree**:專案/物件階層導航,支援拖曳編輯
  • Output Window**:編譯錯誤、搜尋結果、執行時診斷輸出
  • Browser**:物件繼承關係、引用關係、全域變數/函數瀏覽

二、應用程式物件:系統的進入點與全域中樞

核心屬性與功能

分類屬性/事件/函數說明
身分識別Name、Icon、CompanyName、VersionEXE 中繼資料、啟動畫面品牌化
資料庫DBMS、DBParm、LogID、LogPass、AutoCommit預設交易物件 `SQLCA` 連線參數
介面WindowTitle、MenuBar、ToolBar、MDIFrame主視窗框架、選單列、工具列預設
執行Open、Close、Idle、SystemError、ConnectionBegin/End生命週期事件,核心邏輯掛載點
全域變數實例變數、共享變數、常數跨視窗/資料視窗共享狀態
外部函數Local External Functions、PBL 外部函數呼叫 DLL/Windows API、COM 物件

關鍵事件腳本範例

-- Open 事件:系統啟動時執行
// 從 PB.INI 讀取資料庫連線參數
SQLCA.DBMS = ProfileString("PB.INI", "Database", "DBMS", "")
SQLCA.DBParm = ProfileString("PB.INI", "Database", "DBParm", "")
// 開啟登入視窗
Open(w_login)

// Close 事件:系統關閉前清理
DESTROY SQLCA  // 釋放交易物件資源

-- SystemError 事件:全域例外處理
MessageBox("系統錯誤", "Error " + String(ErrorNumber) + ": " + ErrorText)
RETURN 1  // 1=繼續執行, 0=終止應用程式

三、交易物件 (Transaction Object) 深度解析

`SQLCA` 為系統自動建立的預設交易物件 (全域變數),屬性對應資料庫連線參數:

-- 連線屬性
SQLCA.DBMS = "ODB"           -- 資料庫介面 (ODB, OLE DB, JDBC, Sybase, Oracle...)
SQLCA.DBParm = "ConnectString='DSN=MyDSN;UID=sa;PWD=***'"
SQLCA.AutoCommit = FALSE     -- 手動交易控制 (COMMIT/ROLLBACK)
SQLCA.LogID = "sa"
SQLCA.LogPass = "password"
SQLCA.ServerName = "MyServer"
SQLCA.Database = "MyDB"

-- 連線/斷線
CONNECT USING SQLCA;
DISCONNECT USING SQLCA;

**最佳實踐**:在 Application Open 事件集中初始化 `SQLCA`,所有視窗/資料視窗共用同一交易物件,確保交易一致性。

四、物件庫 (PBL) 管理策略

  • 單一專案建議 **單一 PBL** (小型) 或 **分層 PBL** (大型:`App.pbl`, `Frame.pbl`, `Business.pbl`, `Data.pbl`, `Report.pbl`)
  • Library Painter 支援:物件複製/移動/重命名、匯出為 `.sr?` 文字原始碼 (版控友善)、遷移至更新版本
  • 專案建置時指定 **PBD 動態庫** 或 **EXE 內嵌**,影響部署檔案數量與啟動速度

五、常見 IDE 使用陷阱

問題原因解決
變更 Application 物件後未生效未重新編譯/部署,或執行時載入舊 PBDFull Rebuild → 重新部署 EXE/PBD
資料庫連線參數錯誤PB.INI 路徑錯誤、ProfileString 區段/鍵名拼寫絕對路徑、檢查大小寫、用 MessageBox 除錯列印
視窗繼承關係混亂未使用 Browser 檢視繼承鏈Browser → Inheritance 標籤,確認祖先/後代
部署 EXE 缺少 DLLProject Painter 未勾選必要運行時檔案勾選 "Deploy runtime files"、指定正確目標目錄

下一節 (2-7) 將示範完整應用程式執行流程:登入驗證、主視窗資料瀏覽/插入/刪除/更新、關閉應用程式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved