首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計算機(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ù)士
會計從業(yè)資格考試會計證) | 經(jīng)濟(jì)師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

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

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

  15.6.1.4 字段部件的訪問

  字段部件對應(yīng)著數(shù)據(jù)庫表中實際的字段,用戶要讀寫數(shù)據(jù)庫表中的字段值其實是通過訪問相應(yīng)的字段部件進(jìn)行的。在前面的章節(jié)中我們介紹過在Delphi的數(shù)據(jù)庫應(yīng)用程序中有兩類字段部件:一類是利用字段編輯器創(chuàng)建的永久性字段部件;另一類是隨著數(shù)據(jù)集部件被激活(被打開)而動態(tài)生成的字段部件。對于永久性字段部件的訪問可以直接調(diào)用使用字段部件的名字進(jìn)行。假設(shè)我們在設(shè)計階段利用字段編輯器創(chuàng)建了對應(yīng)于Customer.DB表中Company字段的字段部件Table1Company,下面的代碼訪問Company字段的字段值,并將該字段值顯示在編輯框部件Edit1中。

  Edit1.Text := Table1Company.Value;

  因為company字段是字符串類型的數(shù)據(jù),它與Edit1中的數(shù)據(jù)類型相匹配的,因此可以直接使用字段部件的Value屬性讀取字段值。如果兩個變量的類型不匹配,則要使用表15.9中的轉(zhuǎn)換函數(shù)進(jìn)行字段值的讀取。例如:要讀取Customer.DB表中的CustNo字段的值并將它顯示在編輯?駿dit1中,假設(shè)我們已用字段編輯器(Fields Editor)創(chuàng)建了CustNo相應(yīng)的字段部件,Table1CustNo,則程序代碼如下:

  Edit1.Text := Table1CustNo.AsString;

  訪問動態(tài)生成的字段部件相對要困難一些,因為動態(tài)生成的字段部件是沒有自己的名字的,我們必須利用特殊的手段獲得數(shù)據(jù)庫表中各字段對應(yīng)的字段部件,然后對字段進(jìn)行訪問。一般采用的方法有兩種:

  ● 使用數(shù)據(jù)集部件的Fields屬性

  ● 使用數(shù)據(jù)集部件的FieldByName方法

  1. 使用數(shù)據(jù)集部件的Fields屬性訪問數(shù)據(jù)庫表中各字段

  數(shù)據(jù)集部件的Fields屬性是與數(shù)據(jù)集部件相連的數(shù)據(jù)庫表中各個字段對應(yīng)的動態(tài)字段部件的名字列表,因此我們可以通過Fields屬性的下標(biāo)(即索引號)來訪問各字段部件,從而達(dá)到訪問數(shù)據(jù)庫表中的各個字段,索引號從0開始,也就是說數(shù)據(jù)庫表中第一個字段對應(yīng)著Fields列表的第一行即0索引,第二個字段對應(yīng)的Fields的索引號為1,以此類推。下面的例子是訪問Customer.DB表中的第一個字段并在編輯框Edit1中顯示其字段值。假設(shè)Table1與數(shù)據(jù)庫表Customer.DB相連。

  Edit1.Text := Table1.Fields[0].AsString;

  下面的代碼是將編輯框Edit1中的字符值賦給Customer.DB表中當(dāng)前記錄的第一個字段,以實現(xiàn)修改Customer.DB表中的字段值。

  Table1.Fields[0].AsString := Edit1.Text;

  2.使用數(shù)據(jù)集部件的FieldByName方法訪問字段部件

  在數(shù)據(jù)集部件所擁有的方法中,有一個FieldByName方法,它是專門用于訪問數(shù)據(jù)集部件中動態(tài)生成的字段部件的,調(diào)用FieldByName方法時,必須要把數(shù)據(jù)庫表中的字段名作為參數(shù)傳給FieldByName,調(diào)用該方法后便可以得到該字段所對應(yīng)的字段部件,這樣通過字段部件我們便可以讀寫表中相應(yīng)的字段值了,用這種方法訪問字段部件時,必須要知道數(shù)據(jù)庫表中各個字段的名字,否則是沒有辦法調(diào)用該方法的。還是基于上面的假設(shè)。下面是訪問Customer.DB表中的CustNo字段的程序代碼:

  Edit1.Text := Table1.FieldByName('CustNo').AsString;

  Table1.FieldByName('CustNo').AsString := Edit1.Text;

  在使用這兩種方法訪問動態(tài)生成的字段部件時,可以使用表15.9中的轉(zhuǎn)換函數(shù),在變量和字段值之間進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。

  15.6.2 字段編輯器的使用

  字段編輯器(Fields Editor)主要是用于創(chuàng)建永久性的字段部件。在前面的內(nèi)容中我們知道,當(dāng)TTable或TQuery部件與數(shù)據(jù)庫表相連接時,且TTable或TQuery部件被激活時(Active屬性被設(shè)置成True或調(diào)用Open方法),Delphi便動態(tài)地為表中各字段創(chuàng)建相應(yīng)的字段部件,字段部件中包含著相應(yīng)字段的很多信息如字段值、字段值的顯示、編輯格式等,有時我們在應(yīng)用程序中為了更加方便、可靠地訪問數(shù)據(jù)庫表中各個字段,需要創(chuàng)建永久性的字段部件,這時我們必須要借助于字段編輯器來實現(xiàn)我們的設(shè)想。字段編輯器的主要功能如下:

  ● 創(chuàng)建永久性的字段部件

  ● 修改永久性字段的顯示屬性,如顯示格式、顯示寬度等

  ● 刪除永久性的字段部件

  ● 增加新的永久性的字段部件

  ● 定義計算字段(不對應(yīng)數(shù)據(jù)庫表中實際的字段,字段值根據(jù)表中其他字段的值計算得出)

  15.6.2.1 打開字段編輯器

  為TTable和TQuery部件打開字段編輯有兩種方法:

  ● 用鼠標(biāo)左鍵雙擊TTable或TQuery部件

  ● 選擇TTable部件或TQuery部件,然后單擊鼠標(biāo)右鍵,然后從彈出式菜單中選擇 Fields Editor

  字段編輯器Fields Editor被打開以后,窗體的名字和數(shù)據(jù)集部件的名字會顯示在窗口的標(biāo)題上。

  字段編輯器Fields itor中的Fields列表框是用于顯示已經(jīng)創(chuàng)建的永久性字段部件的名字的。字段編輯器Fields Editor第一次被打開時,該列表框是空的,因為在此之前的字段部件都是動態(tài)生成的,只要Fields列表框中有字段部件,那么與數(shù)據(jù)集部件相連的數(shù)據(jù)瀏覽部件中只顯示Fields中列出的字段的字段值,在Fields列表框中,可以通過拖放字段部件的名字來改變相應(yīng)的字段值在數(shù)據(jù)瀏覽部件中的顯示順序,如在TDBGrid部件中根據(jù)各字段在Fields列表框中的順序顯示各字段的值。

  在字段編輯器Fields Editor窗體上面的導(dǎo)航按鈕是用來移動TTable或TQuery部件中的記錄指針的,使用導(dǎo)航按鈕可以將記錄指針向前、向后移動,也可以移到第一條記錄處或最后一條記錄處。

  字段編輯器中的彈出式菜單

  15.6.2.2 增加字段部件

  字段編輯器Fields Editor中的Add Fields菜單項用于向數(shù)據(jù)集部件中增加字段部件的,單擊Add Fields菜單項時便會打開增加字段部件對話框,如圖15.9所示。Available Fields列表框中顯示出數(shù)據(jù)集部件TTable或TQuery中當(dāng)前可以用于創(chuàng)建永久字段部件的全部的字段,也就是說Available Fields列表框中顯示字段是數(shù)據(jù)庫表中實際存在的字段,而且還沒有為這些字段創(chuàng)建相應(yīng)的永久性的字段部件,在缺省狀態(tài)下所有的字段都被選擇用于創(chuàng)建相應(yīng)的永久性的字段部件,用鼠標(biāo)單擊其中的字段名可以有選擇地創(chuàng)建其相應(yīng)的永久性的字段部件,選擇好有關(guān)的字段名之后,單擊OK按鈕便可以創(chuàng)建永久性的字段部件。

  字段編輯器的增加字段部件對話框

  15.6.2.3 刪除字段部件

  用字段編輯器Fields Editor為數(shù)據(jù)集部件創(chuàng)建好的字段部件都會顯示在字段編輯器的Fields列表框中,如果用戶認(rèn)為其中的一些字段部件不合適或不再需要時,可以單擊這些不需要的字段部件,然后單擊鼠標(biāo)右鍵彈出一傭彈出式菜單,從彈出式菜單中選擇Delete菜單項,便可刪除相應(yīng)的字段部件,如果在彈出式菜單中單擊Select All菜單項,然后選擇Delete菜單項,這樣會刪除已創(chuàng)建好的所有的字段部件。某一個字段部件被刪除以后,通過單擊Add Fields菜單項可以重新創(chuàng)建,只是先前為該字段部件設(shè)定的一些屬性將不復(fù)存在。

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