首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
15.6.1.4 字段部件的訪問
字段部件對應著數據庫表中實際的字段,用戶要讀寫數據庫表中的字段值其實是通過訪問相應的字段部件進行的。在前面的章節中我們介紹過在Delphi的數據庫應用程序中有兩類字段部件:一類是利用字段編輯器創建的永久性字段部件;另一類是隨著數據集部件被激活(被打開)而動態生成的字段部件。對于永久性字段部件的訪問可以直接調用使用字段部件的名字進行。假設我們在設計階段利用字段編輯器創建了對應于Customer.DB表中Company字段的字段部件Table1Company,下面的代碼訪問Company字段的字段值,并將該字段值顯示在編輯框部件Edit1中。
Edit1.Text := Table1Company.Value;
因為company字段是字符串類型的數據,它與Edit1中的數據類型相匹配的,因此可以直接使用字段部件的Value屬性讀取字段值。如果兩個變量的類型不匹配,則要使用表15.9中的轉換函數進行字段值的讀取。例如:要讀取Customer.DB表中的CustNo字段的值并將它顯示在編輯?駿dit1中,假設我們已用字段編輯器(Fields Editor)創建了CustNo相應的字段部件,Table1CustNo,則程序代碼如下:
Edit1.Text := Table1CustNo.AsString;
訪問動態生成的字段部件相對要困難一些,因為動態生成的字段部件是沒有自己的名字的,我們必須利用特殊的手段獲得數據庫表中各字段對應的字段部件,然后對字段進行訪問。一般采用的方法有兩種:
● 使用數據集部件的Fields屬性
● 使用數據集部件的FieldByName方法
1. 使用數據集部件的Fields屬性訪問數據庫表中各字段
數據集部件的Fields屬性是與數據集部件相連的數據庫表中各個字段對應的動態字段部件的名字列表,因此我們可以通過Fields屬性的下標(即索引號)來訪問各字段部件,從而達到訪問數據庫表中的各個字段,索引號從0開始,也就是說數據庫表中第一個字段對應著Fields列表的第一行即0索引,第二個字段對應的Fields的索引號為1,以此類推。下面的例子是訪問Customer.DB表中的第一個字段并在編輯框Edit1中顯示其字段值。假設Table1與數據庫表Customer.DB相連。
Edit1.Text := Table1.Fields[0].AsString;
下面的代碼是將編輯框Edit1中的字符值賦給Customer.DB表中當前記錄的第一個字段,以實現修改Customer.DB表中的字段值。
Table1.Fields[0].AsString := Edit1.Text;
2.使用數據集部件的FieldByName方法訪問字段部件
在數據集部件所擁有的方法中,有一個FieldByName方法,它是專門用于訪問數據集部件中動態生成的字段部件的,調用FieldByName方法時,必須要把數據庫表中的字段名作為參數傳給FieldByName,調用該方法后便可以得到該字段所對應的字段部件,這樣通過字段部件我們便可以讀寫表中相應的字段值了,用這種方法訪問字段部件時,必須要知道數據庫表中各個字段的名字,否則是沒有辦法調用該方法的。還是基于上面的假設。下面是訪問Customer.DB表中的CustNo字段的程序代碼:
Edit1.Text := Table1.FieldByName('CustNo').AsString;
Table1.FieldByName('CustNo').AsString := Edit1.Text;
在使用這兩種方法訪問動態生成的字段部件時,可以使用表15.9中的轉換函數,在變量和字段值之間進行數據類型的轉換。
15.6.2 字段編輯器的使用
字段編輯器(Fields Editor)主要是用于創建永久性的字段部件。在前面的內容中我們知道,當TTable或TQuery部件與數據庫表相連接時,且TTable或TQuery部件被激活時(Active屬性被設置成True或調用Open方法),Delphi便動態地為表中各字段創建相應的字段部件,字段部件中包含著相應字段的很多信息如字段值、字段值的顯示、編輯格式等,有時我們在應用程序中為了更加方便、可靠地訪問數據庫表中各個字段,需要創建永久性的字段部件,這時我們必須要借助于字段編輯器來實現我們的設想。字段編輯器的主要功能如下:
● 創建永久性的字段部件
● 修改永久性字段的顯示屬性,如顯示格式、顯示寬度等
● 刪除永久性的字段部件
● 增加新的永久性的字段部件
● 定義計算字段(不對應數據庫表中實際的字段,字段值根據表中其他字段的值計算得出)
15.6.2.1 打開字段編輯器
為TTable和TQuery部件打開字段編輯有兩種方法:
● 用鼠標左鍵雙擊TTable或TQuery部件
● 選擇TTable部件或TQuery部件,然后單擊鼠標右鍵,然后從彈出式菜單中選擇 Fields Editor
字段編輯器Fields Editor被打開以后,窗體的名字和數據集部件的名字會顯示在窗口的標題上。
字段編輯器Fields itor中的Fields列表框是用于顯示已經創建的永久性字段部件的名字的。字段編輯器Fields Editor第一次被打開時,該列表框是空的,因為在此之前的字段部件都是動態生成的,只要Fields列表框中有字段部件,那么與數據集部件相連的數據瀏覽部件中只顯示Fields中列出的字段的字段值,在Fields列表框中,可以通過拖放字段部件的名字來改變相應的字段值在數據瀏覽部件中的顯示順序,如在TDBGrid部件中根據各字段在Fields列表框中的順序顯示各字段的值。
在字段編輯器Fields Editor窗體上面的導航按鈕是用來移動TTable或TQuery部件中的記錄指針的,使用導航按鈕可以將記錄指針向前、向后移動,也可以移到第一條記錄處或最后一條記錄處。
字段編輯器中的彈出式菜單
15.6.2.2 增加字段部件
字段編輯器Fields Editor中的Add Fields菜單項用于向數據集部件中增加字段部件的,單擊Add Fields菜單項時便會打開增加字段部件對話框,如圖15.9所示。Available Fields列表框中顯示出數據集部件TTable或TQuery中當前可以用于創建永久字段部件的全部的字段,也就是說Available Fields列表框中顯示字段是數據庫表中實際存在的字段,而且還沒有為這些字段創建相應的永久性的字段部件,在缺省狀態下所有的字段都被選擇用于創建相應的永久性的字段部件,用鼠標單擊其中的字段名可以有選擇地創建其相應的永久性的字段部件,選擇好有關的字段名之后,單擊OK按鈕便可以創建永久性的字段部件。
字段編輯器的增加字段部件對話框
15.6.2.3 刪除字段部件
用字段編輯器Fields Editor為數據集部件創建好的字段部件都會顯示在字段編輯器的Fields列表框中,如果用戶認為其中的一些字段部件不合適或不再需要時,可以單擊這些不需要的字段部件,然后單擊鼠標右鍵彈出一傭彈出式菜單,從彈出式菜單中選擇Delete菜單項,便可刪除相應的字段部件,如果在彈出式菜單中單擊Select All菜單項,然后選擇Delete菜單項,這樣會刪除已創建好的所有的字段部件。某一個字段部件被刪除以后,通過單擊Add Fields菜單項可以重新創建,只是先前為該字段部件設定的一些屬性將不復存在。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |