首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
15.6.2.4 定義新的字段部件
字段編輯器Fields Editor中的彈出式菜單中New Fields菜單項是用來為數據集部件TTable或TQuery創建用于顯示目的的新的字段部件,我們可以用它來為數據庫表中實際存在的字段創建新的字段部件(如改變字段的數據類型,使它的字段值被顯示時不再需有關的類型轉換),但是我們使用New Fields菜單項創建新的字段部件主要是創建計算字段。計算字段并不與數據庫表中實際存在的字段對應,它的字段值是根據表中其它的字段值計算而來的,具體的計算表達式由用戶為TTable部件或TQuery部件的OnCalCFields事件編寫程序代碼時決定。
定義(創建)計算字段的過程如下:
1.單擊字段編輯器中的New Fields菜單項,定義字段對話框如圖15.11所示。
2.在FieldName編輯框中輸入新字段部件的名字,或者從下拉式列表框中選擇一個已存在的字段部件的名字。
3.在FieldType列表框中為新字段部件選擇一個字段類型。
4.單擊Calculated檢查框,確認定義的新字段部件是計算字段。
5.單擊ok按鈕,創建上述定義的計算字段部件,此時該字段部件的名字會自動地加入到字段編輯中的Fields列表框中。
創建新的計算字段
新的計算字段創建好了之后,它是沒有任何字段值的,我們必須要編寫相應的程序代碼,根據數據庫表中實際存在的字段的字段值為計算字段的寶定義字段值,我們為計算字段所在數據集部件的OnCalcFields事件編寫代碼來為計算字段賦值,其步驟如下:
1.選擇數據集部件TTable或TQuery
2.單擊數據集部件的事件頁
3.雙擊OnCalcFields事件為TTable或TQuery部件編寫事件處理過程
15.7 TReport部件及其應用
在一般的數據庫應用程序中都包含著為最終用戶提供輸出報表的功能,使用Delphi開發數據庫應用程序時,可以使用一個叫TReport的部件來執行報表功能的,報表的具體格式和內容是由Delphi提供的一個專用報表生成工具ReprotSmith創建的,它報表的具體格式和內容生成一個報表文件,然后為TReport部件設置相應的屬性參數,由TReport部件執行報表功能。
我們可以在設計階段雙擊TReport部件,調用ReportSimith工具或者在Delphi程序組內雙擊ReportSmith圖標來調用ReportSmith工具來創建一個報表文件,具體的操作步驟和設計方法請參看ReportSimth工具的使用說明。
我們在使用TReport部件執行報表功能時,要設置TReport部件的一些的一些屬性,這些屬性是:
ReportName屬性:說明報表文件的名字,就是用ReportSmith創建的報表文件。
ReportDir屬性:說明報表文件所在的途徑名。
PreView屬性:這是一個布爾型屬性。若它的值為True,那么在執行報表功能時,只是在屏幕上顯示報表;若它的值為False,則報表內容將在缺省的打印機打印出來。
AutoUnload屬性:布爾型屬性,它的值為True時,在執行完一個報表功能后,自動地從內存中卸出ReportSmith工具;它的值為False時,在運行完一個報表功能后,不從內存中卸出ReportSmith工具。一般情況下,如果應用程序只有一個報表或者只有較少的報表要輸出時,應設置AutoUnload屬性為True,如果應用程序一次要輸出多個報表,那么要應設置AutoUnload屬性為False。
InitialValues屬性:這是一個字符串類型的屬性,它是說明報表文件中使用的變量,每一條說明一個變量。如:
ReportVAR := Value;
要詳細了解創建和使用報表變量的過程請參看創建報表一節。
TReport部件要真正執行報表功能以輸出一個報表需要調用Run方法。如下所示:
Report1.Run;
TReport部件所具有的重要方法如表15.10所示。
表15.10 TReport部件的方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
方法 功 能
────────────────────────────
Run 執行報表功能,輸出報表
RunMacro 發送一個宏命令給Reportimith工具
Connect 預先連接報表文件和數據庫,在輸出報表時不
需要登錄到數據庫
SetVariable 改變說明的報表變量
ReCalcReport 當報表變量改變以后,重新輸出報表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
還有一些其他的數據訪問部件如TBatchMove部件,它主要用在兩個數據庫表之間移動或拷貝帆數據記錄,具體的使用請參看本地SQL服務器的使用。
15.8 應用舉例:多個窗體顯示同一個數據庫表
在應用當中,我們常常需要以不同的視圖顯示同一個數據庫表中的內容,例如要在兩窗體中同時顯示一個數據庫表中一個記錄的不同字段時,我們必須要想辦法使兩個窗體中的數據瀏覽部件同步地顯示數據庫表中的同一條記錄的不同字段的值。要想做到以不同的視圖顯示同一個數據庫表中的記錄,下面兩條規則是很重要的:
● 多個TDataSource部件能夠同時訪問同一個數據集部件
● 在多個窗體中顯示同一個表時,必須為每個窗體設置一個TDataSource部件,只須為其中的一個窗體設置一個TTable部件
例如,如果想在窗體Form1和Form2中同時顯示一個數據庫表的記錄,最簡單可行的辦法是:為Form1和Form2各設置一個TDataSource部件叫DataSource1、DataSource2,并在Form1中設置一個TTable部件Table1,連接Form1中的Datasource1和Table1,在程序運行過程中設置Form2中的DataSource2的DataSet屬性為Form1中的Table1,代碼如下:
Format2.DataSource1.Dataset := Form1.Table1;
這樣,當Table1被打開時,兩個窗體中便可以同步地顯示數據庫表中的同一條記錄了。
一個名叫TWOForms.DPR的例子在C:\Delphi\DEMos\DB\TwoForms中(如果Delphi安裝在其它的磁盤驅動器中,從相應的磁盤驅動器中可以找到該例子),它演示了在兩個窗體中顯示同一個數據庫表的記錄。應用程序在第一個窗體中打開Contry.DB表,并在窗體中顯示Name、Captial和Continent字段,在第二個窗體中顯示Area和Population字段,在第一個窗體中有一個按鈕用于打開第二個窗體,兩個窗體中都有TDBNavigator部件,用于記錄的導航。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |