專為執行伺服器端存儲過程設計,核心優勢:就近處理海量資料、減少網路傳輸。典型案例:計算百萬筆記錄標準差——伺服器端僅回傳單一標量值,避免客戶端拉取全量資料導致網路擁塞。
| 屬性 | 用途 | 備註 |
|---|---|---|
DatabaseName | 目標資料庫(BDE 別名/路徑/TDatabase 別名) | 修改前必須 Close |
StoredProcName | 伺服器端過程名稱 | Oracle 需配合 Overload 區分同名過載 |
Overload | Oracle 套件過載序號 | 0=無過載,1/2/...=第 N 個同名過程 |
Params | 參數集合(輸入/輸出/結果) | 設計期用參數編輯器,執行期用陣列或 ParamByName |
ParamByName('名稱'):按名稱存取參數,編寫動態參數邏輯首選。Prepare:預載入過程至伺服器,優化重複執行效能(非強制但強烈建議)。ExecProc:執行不回傳結果集/單行結果的過程。Open:執行回傳結果集的過程(等同 Active := True)。DatabaseName → 選擇 StoredProcName → 參數編輯器定義輸入參數型別/值。Prepare。Params[0].AsString := Edit1.Text 或 ParamByName('Company').AsString := Edit1.Text。Prepare → ExecProc(或 Open)。Params[索引]/ParamByName 讀取;結果集綁定 DataSource → DataSet = TStoredProc 後用資料感知控制項顯示。掌握此流程,即可將複雜業務邏輯封裝於伺服器,客戶端僅保留薄薄的呼叫殼層。