freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第十八章delphi客戶服務(wù)器應(yīng)用開發(fā)四-閱讀頁

2024-09-25 15:30本頁面
  

【正文】 重復(fù)性計算任務(wù)轉(zhuǎn)換到服務(wù)器,提高數(shù)據(jù)庫應(yīng)用的性能。 1. TQuery 的存儲過程編程 CSDEMO 中演示用 TQuery 調(diào)用存儲過程的窗體是 TFrmQueryProc。 DBGrid1 顯示 EmployeeTable中的數(shù)據(jù)。使用存儲過程的 TQuery 部件名為 EmployeeProjectsQuery,它的作用是建立 Employee 表和 Project 表的連接,以實現(xiàn)當 DBGrid1 中記錄改變時, DBGrid2 中的數(shù)據(jù)作相應(yīng)的改變。下面是Get_Emp_Proj 的程序: PROCEDURE Get_Emp_Proj BEGIN FOR SELECT proj_id FROM employee_project WHERE emp_no = :emp_no INTO :proj_id DO SUSPEND。 下面是客戶端的程序: procedure (Sender: TObject)。 := True。 end。 procedure (Sender: TObject。 begin 。 。Employee 39。 is assigned to 39。 project(s).39。 end。用于當EmployeeTable 數(shù)據(jù)記錄變化時,修正存儲過程的輸入?yún)?shù),并執(zhí)行 SQL 語句。 CSDEMO 中演示用 TStoredProc 調(diào)用存儲過程的窗體是 TFrmExecPr 在程序運行中,當按下 ShipOrder 按鈕,要求對 ORED_STA_TUS 等字段的內(nèi)容作修改以維護數(shù)據(jù)庫的一致性。 SHIP_ORDE 的程序如下: PROCEDURE SHIP_ORDER DECLARE VARIABLE ord_stat CHAR(7)。 DECLARE VARIABLE cust_no INTEGER。 BEGIN SELECT , , FROM sales s, customer c WHERE po_number = :po_num AND = INTO :ord_stat, :hold_stat, :cust_no。 SUSPEND。 SUSPEND。NOW39。 UPDATE customer SET on_hold = * WHERE cust_no = :cust_no。 END UPDATE sales SET order_status = shipped, ship_date = 39。 WHERE po_number = :po_num。 END Parameters: PO_NUM INPUT CHAR(8) 該過程只帶有一個輸入?yún)?shù): PO_NUM,類型是 CHAR(8)。 begin with DmEmployee do begin [0].AsString := SalesTable[39。]。 。 end。程序中先準備輸入?yún)?shù),用ExecProc 方 法執(zhí)行存儲過程。 在 CSDEMO 應(yīng)用程序中另一個使用存儲過程的 TStoredProc 部件是DeleteEmployeeProc。其屬性如下: 表 DeleteEmployeeProc 部件主要屬性的取值 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 屬性名 屬 性 值 ────────────────────────── DataBaseName EmployeeDemoDB ParamBindMode PbByName Params EMP_NUM(輸入?yún)?shù),整型 ) StoredProcName DELETE_EMPLOYEE ━━━━━━━━━━━━━━━━━━━━━━━━━━ 存儲過程 DELETE_EMPLOYEE 的程序如下: PROCEDURE DELETE_EMPLOYEE DECLARE VARIABLE any_sales INTEGER。 SELECT count(po_number) FROM sales WHERE sales_rep = :emp_num INTO :any_sales。 SUSPEND。 UPDATE project SET team_leader = NULL WHERE team_leader = :emp_num。 DELETE FROM salary_history WHERE emp_no = :emp_num。 SUSPEND。 事務(wù)控制編程 在客戶 /服務(wù)器應(yīng)用程序中,事務(wù)控制是一項很重要的技術(shù)。 Delphi 中提供了事務(wù)的隱式和顯式兩種控制方法。 Delphi 擔當事務(wù)控制任務(wù)的部件是 TDatabase 。關(guān)于這些屬性和方法作用和使用方法請參閱客戶 /服務(wù)器事務(wù)管理。 CSDEMO 中演示事務(wù)控制的窗體是 TFrmTransDemo。當窗口顯示時,EmployeeDatabase 開始一次事務(wù)控制并激活 EmployeeTable: procedure (Sender: TObject)。 。 當窗口被關(guān)閉或隱藏時, EmployeeDatabase 提交事務(wù): procedure (Sender: TObject)。 end。按下 BtnCommitEdits按鈕將提交當前事務(wù),并開始新的事務(wù)控制并刷新數(shù)據(jù)。 begin if and (MessageDlg(39。, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then begin 。 。Can39。t Commit Changes: No Transaction Active39。 end。 procedure (Sender: TObject)。Are you sure you want to undo all changes made during the 39。current transaction?39。 。 end else MessageDlg(39。39。, mtError, [mbOk], 0)。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1