首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會計(jì)從業(yè)資格考試會計(jì)證) | 經(jīng)濟(jì)師 | 會計(jì)職稱 | 注冊會計(jì)師 | 審計(jì)師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

2011計(jì)算機(jī)等考Delphi:數(shù)據(jù)訪問部件應(yīng)用及編程

本章主要介紹用Delphi開發(fā)簡單的數(shù)據(jù)庫應(yīng)用程序的一般方法和步驟,首先讓讀者對Delphi強(qiáng)勁的數(shù)據(jù)庫應(yīng)用開發(fā)工具有一個直觀的印象,然后在此基礎(chǔ)上進(jìn)行復(fù)雜的數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì)。

  15.6.2.4 定義新的字段部件

  字段編輯器Fields Editor中的彈出式菜單中New Fields菜單項(xiàng)是用來為數(shù)據(jù)集部件TTable或TQuery創(chuàng)建用于顯示目的的新的字段部件,我們可以用它來為數(shù)據(jù)庫表中實(shí)際存在的字段創(chuàng)建新的字段部件(如改變字段的數(shù)據(jù)類型,使它的字段值被顯示時不再需有關(guān)的類型轉(zhuǎn)換),但是我們使用New Fields菜單項(xiàng)創(chuàng)建新的字段部件主要是創(chuàng)建計(jì)算字段。計(jì)算字段并不與數(shù)據(jù)庫表中實(shí)際存在的字段對應(yīng),它的字段值是根據(jù)表中其它的字段值計(jì)算而來的,具體的計(jì)算表達(dá)式由用戶為TTable部件或TQuery部件的OnCalCFields事件編寫程序代碼時決定。

  定義(創(chuàng)建)計(jì)算字段的過程如下:

  1.單擊字段編輯器中的New Fields菜單項(xiàng),定義字段對話框如圖15.11所示。

  2.在FieldName編輯框中輸入新字段部件的名字,或者從下拉式列表框中選擇一個已存在的字段部件的名字。

  3.在FieldType列表框中為新字段部件選擇一個字段類型。

  4.單擊Calculated檢查框,確認(rèn)定義的新字段部件是計(jì)算字段。

  5.單擊ok按鈕,創(chuàng)建上述定義的計(jì)算字段部件,此時該字段部件的名字會自動地加入到字段編輯中的Fields列表框中。

  創(chuàng)建新的計(jì)算字段

  新的計(jì)算字段創(chuàng)建好了之后,它是沒有任何字段值的,我們必須要編寫相應(yīng)的程序代碼,根據(jù)數(shù)據(jù)庫表中實(shí)際存在的字段的字段值為計(jì)算字段的寶定義字段值,我們?yōu)橛?jì)算字段所在數(shù)據(jù)集部件的OnCalcFields事件編寫代碼來為計(jì)算字段賦值,其步驟如下:

  1.選擇數(shù)據(jù)集部件TTable或TQuery

  2.單擊數(shù)據(jù)集部件的事件頁

  3.雙擊OnCalcFields事件為TTable或TQuery部件編寫事件處理過程

  15.7 TReport部件及其應(yīng)用

  在一般的數(shù)據(jù)庫應(yīng)用程序中都包含著為最終用戶提供輸出報表的功能,使用Delphi開發(fā)數(shù)據(jù)庫應(yīng)用程序時,可以使用一個叫TReport的部件來執(zhí)行報表功能的,報表的具體格式和內(nèi)容是由Delphi提供的一個專用報表生成工具ReprotSmith創(chuàng)建的,它報表的具體格式和內(nèi)容生成一個報表文件,然后為TReport部件設(shè)置相應(yīng)的屬性參數(shù),由TReport部件執(zhí)行報表功能。

  我們可以在設(shè)計(jì)階段雙擊TReport部件,調(diào)用ReportSimith工具或者在Delphi程序組內(nèi)雙擊ReportSmith圖標(biāo)來調(diào)用ReportSmith工具來創(chuàng)建一個報表文件,具體的操作步驟和設(shè)計(jì)方法請參看ReportSimth工具的使用說明。

  我們在使用TReport部件執(zhí)行報表功能時,要設(shè)置TReport部件的一些的一些屬性,這些屬性是:

  ReportName屬性:說明報表文件的名字,就是用ReportSmith創(chuàng)建的報表文件。

  ReportDir屬性:說明報表文件所在的途徑名。

  PreView屬性:這是一個布爾型屬性。若它的值為True,那么在執(zhí)行報表功能時,只是在屏幕上顯示報表;若它的值為False,則報表內(nèi)容將在缺省的打印機(jī)打印出來。

  AutoUnload屬性:布爾型屬性,它的值為True時,在執(zhí)行完一個報表功能后,自動地從內(nèi)存中卸出ReportSmith工具;它的值為False時,在運(yùn)行完一個報表功能后,不從內(nèi)存中卸出ReportSmith工具。一般情況下,如果應(yīng)用程序只有一個報表或者只有較少的報表要輸出時,應(yīng)設(shè)置AutoUnload屬性為True,如果應(yīng)用程序一次要輸出多個報表,那么要應(yīng)設(shè)置AutoUnload屬性為False。

  InitialValues屬性:這是一個字符串類型的屬性,它是說明報表文件中使用的變量,每一條說明一個變量。如:

  ReportVAR := Value;

  要詳細(xì)了解創(chuàng)建和使用報表變量的過程請參看創(chuàng)建報表一節(jié)。

  TReport部件要真正執(zhí)行報表功能以輸出一個報表需要調(diào)用Run方法。如下所示:

  Report1.Run;

  TReport部件所具有的重要方法如表15.10所示。

  表15.10 TReport部件的方法

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  方法 功 能

  ────────────────────────────

  Run 執(zhí)行報表功能,輸出報表

  RunMacro 發(fā)送一個宏命令給Reportimith工具

  Connect 預(yù)先連接報表文件和數(shù)據(jù)庫,在輸出報表時不

  需要登錄到數(shù)據(jù)庫

  SetVariable 改變說明的報表變量

  ReCalcReport 當(dāng)報表變量改變以后,重新輸出報表

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  還有一些其他的數(shù)據(jù)訪問部件如TBatchMove部件,它主要用在兩個數(shù)據(jù)庫表之間移動或拷貝帆數(shù)據(jù)記錄,具體的使用請參看本地SQL服務(wù)器的使用。

  15.8 應(yīng)用舉例:多個窗體顯示同一個數(shù)據(jù)庫表

  在應(yīng)用當(dāng)中,我們常常需要以不同的視圖顯示同一個數(shù)據(jù)庫表中的內(nèi)容,例如要在兩窗體中同時顯示一個數(shù)據(jù)庫表中一個記錄的不同字段時,我們必須要想辦法使兩個窗體中的數(shù)據(jù)瀏覽部件同步地顯示數(shù)據(jù)庫表中的同一條記錄的不同字段的值。要想做到以不同的視圖顯示同一個數(shù)據(jù)庫表中的記錄,下面兩條規(guī)則是很重要的:

  ● 多個TDataSource部件能夠同時訪問同一個數(shù)據(jù)集部件

  ● 在多個窗體中顯示同一個表時,必須為每個窗體設(shè)置一個TDataSource部件,只須為其中的一個窗體設(shè)置一個TTable部件

  例如,如果想在窗體Form1和Form2中同時顯示一個數(shù)據(jù)庫表的記錄,最簡單可行的辦法是:為Form1和Form2各設(shè)置一個TDataSource部件叫DataSource1、DataSource2,并在Form1中設(shè)置一個TTable部件Table1,連接Form1中的Datasource1和Table1,在程序運(yùn)行過程中設(shè)置Form2中的DataSource2的DataSet屬性為Form1中的Table1,代碼如下:

  Format2.DataSource1.Dataset := Form1.Table1;

  這樣,當(dāng)Table1被打開時,兩個窗體中便可以同步地顯示數(shù)據(jù)庫表中的同一條記錄了。

  一個名叫TWOForms.DPR的例子在C:\Delphi\DEMos\DB\TwoForms中(如果Delphi安裝在其它的磁盤驅(qū)動器中,從相應(yīng)的磁盤驅(qū)動器中可以找到該例子),它演示了在兩個窗體中顯示同一個數(shù)據(jù)庫表的記錄。應(yīng)用程序在第一個窗體中打開Contry.DB表,并在窗體中顯示Name、Captial和Continent字段,在第二個窗體中顯示Area和Population字段,在第一個窗體中有一個按鈕用于打開第二個窗體,兩個窗體中都有TDBNavigator部件,用于記錄的導(dǎo)航。

  相關(guān)推薦:2010年9月計(jì)算機(jī)等級考試試題及答案解析專題
       預(yù)告:名師解析2010年9月計(jì)算機(jī)等級考試試題答案
       2010年9月計(jì)算機(jī)等級考試成績查詢時間及入口
       2010年9月計(jì)算機(jī)等考成績查詢短信免費(fèi)提醒開通
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。