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

正文內(nèi)容

delphi客戶(hù)服務(wù)器應(yīng)用開(kāi)發(fā)四(完整版)

  

【正文】 IndexFieldName Emp_No MasterFields Emp_No MasterSource EmployeeSource TableName SALARY_HISTORY ━━━━━━━━━━━━━━━━━━━━━ 這兩個(gè)表之間存在兩種關(guān)系: ● 連接關(guān)系 EmployeeTable 的記錄變化時(shí), SalaryHistoryTable 的數(shù)據(jù)要作相應(yīng)的變化。 { 更新數(shù)據(jù)庫(kù)表名 } 。 不同數(shù)據(jù)庫(kù)表的切換 在許多數(shù)據(jù)庫(kù)應(yīng)用中都要在不同數(shù)據(jù)庫(kù)表之間相互切換,以響應(yīng)用戶(hù)輸入條件或系統(tǒng)狀態(tài)的變化。 在 TDmEmployee 中定義了一個(gè) TDatabase 類(lèi)型的部件──EmployeeDatabase。 CHECK 語(yǔ)句是給數(shù)據(jù)庫(kù)字段取值范圍加約束條件。)。00039。它是由 BDE配置工具 ()設(shè)置參數(shù)值。 例如,計(jì)算大量記錄的標(biāo)準(zhǔn)差: ● 如果該函數(shù)在客戶(hù)端執(zhí)行,所有的值從服務(wù)器上檢索出來(lái)并送到客戶(hù)端,導(dǎo)致網(wǎng)絡(luò)擁塞 ● 如果該函數(shù)在服務(wù)器端執(zhí)行,則應(yīng)用程序只需要服務(wù)器上的答案 Delphi 客戶(hù) /服務(wù)器應(yīng)用實(shí)例分析 本節(jié)中采用的實(shí)例是 數(shù)據(jù)庫(kù)的例子 CSDEMO。如果在服務(wù)器上定義適合的數(shù)據(jù)源,你就能將應(yīng)用程序指向訪(fǎng)問(wèn)它,這只需簡(jiǎn)單地改變應(yīng)用程序中 TTable 或 TQuery 部件的DatabaseName 屬性。例如: ● 桌面數(shù)據(jù)庫(kù)用于同一時(shí)刻單用戶(hù)的訪(fǎng)問(wèn),而服務(wù)器用于多 用戶(hù)訪(fǎng)問(wèn) ● 桌面數(shù)據(jù)庫(kù)是面向記錄的,而服務(wù)器是面向集合的 ● 桌面數(shù)據(jù)庫(kù)將每個(gè)表存儲(chǔ)在獨(dú)立的文件中, 而服務(wù)器將所有的表存儲(chǔ)在數(shù)據(jù)庫(kù)中 Client/Server 應(yīng)用必須解決更新的問(wèn)題,最復(fù)雜的是聯(lián)接、網(wǎng)絡(luò)和事務(wù)控制 適化數(shù)據(jù)庫(kù) 適化數(shù)據(jù)庫(kù)包含下列步驟: ● 在桌面數(shù)據(jù)庫(kù)結(jié)構(gòu)的基礎(chǔ)上,定義服務(wù)器上的元數(shù)據(jù) ● 將數(shù)據(jù)從桌面轉(zhuǎn)化到服務(wù)器中 ● 解決下列問(wèn)題: ● 數(shù)據(jù)類(lèi)型差異 ● 數(shù)據(jù)安全性和完整性 ● 事務(wù)控制 ● 數(shù)據(jù)訪(fǎng)問(wèn)權(quán) ● 數(shù)據(jù) 合法性 ● 鎖定 Delphi 提供了兩種方法適化一個(gè)數(shù)據(jù)庫(kù)。本節(jié)將介紹適化 Delphi 應(yīng)用程序中最重要的方面。然后用前面介紹的兩種方法轉(zhuǎn)移數(shù)據(jù)。當(dāng)適化到 SQL 服務(wù)器上時(shí),用 TQuery 會(huì)更有效,如果應(yīng)用程序要檢索大量記錄,則 TQuery 部件要略勝一籌。 Local InterBase 支持客戶(hù) /服務(wù)器應(yīng)用在單機(jī)上的開(kāi)發(fā)和測(cè)試,并且可以很容易地適化到 InterBase Server 上。 CREATE DOMAIN COUNTRYNAME AS VARCHAR(15)。) OR VALUE IS NULL)。 NOT NULL, DEPT_NO DEPTNO NOT NULL, JOB_CODE JOBCODE NOT NULL, JOB_GRADE JOBGRADE NOT NULL, JOB_COUNTRY COUNTRYNAME NOT NULL, SALARY SALARY NOT NULL, FULL_NAME COMPUTED BY (last_name || 39。 應(yīng)用程序分析 TDatabase 部件的使用 CSDEMO 程序中定義了一個(gè)數(shù)據(jù)庫(kù)模塊部件 —— TDmEmployee,它是繼承于 TDataModule。 LoginPrompt 屬性為 False,表明應(yīng)用程序自動(dòng)處理與數(shù)據(jù)庫(kù)的聯(lián)接注冊(cè),因此,Params 屬性中定義了注冊(cè)的用戶(hù)名和口令: USERNAME = SYSDBA PASSWORD = masterkey TransIsolation 屬性為 tiReadCommitted 表明,如果存在多個(gè)同時(shí)事務(wù),則某一事務(wù)只允許讀由其它事務(wù)提交了的數(shù)據(jù)。 { 向用戶(hù)提示當(dāng)前操作狀態(tài) } 。 DisableControls 和EnableControls 的作用是隱藏和顯示數(shù)據(jù)變化。 下面是 InterBase 服務(wù)器上與 Employee 表相關(guān)的觸發(fā)器程序: Triggers on Table EMPLOYEE: SAVE_SALARY_CHANGE, Sequence: 0, Type: AFTER UPDATE, Active AS BEGIN IF ( ) THEN INSERT INTO salary_history (emp_no, change_date, updater_id, old_salary, percent_change) VALUES ( , 39。 end。 TFrmQueryProc 中有兩個(gè) TDBGrid 部件。 begin 。 [0].AsInteger := 。)。 DECLARE VARIABLE hold_stat CHAR(1)。 END FOR SELECT po_number FROM sales WHERE cust_no = :cust_no AND order_status = shipped AND paid = n AND ship_date 39。 SUSPEND。 end。 BEGIN any_sales = 0。 DELETE FROM employee WHERE emp_no = :emp_num。 TDatabase 用于事務(wù)控制的屬性是 TransIsolation,方法有 StartTranstion、 Commit 和 Rollback。 end。Are you sure you want to mit your changes?39。, mtError, [mbOk], 0)。, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then begin 。 end。 。 按下 BtnUndoEdits 按鈕將返轉(zhuǎn)當(dāng)前事物,恢復(fù)原來(lái)的數(shù)據(jù),開(kāi)始新的事務(wù)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1