14.4.5 設定字段對象的顯示格式
我們即可以在設計階段設定字段對象的顯示格式,也可以在運行過程中通過程序代碼來設定字段對象的顯示格式。
例14.2 在如圖14.10所示的窗體中,再增加一個TaxRate字段,並在程序設計過程中設定它的顯示格式為0.00%,即設置TaxRate字段對象的DisplayFormat屬性為0.00% , 若TaxRate的值為0.085那麼在網格部件中其顯示的格式為8.50%。
在運行過程中我們通過程序代碼來設定字段Phone的顯示格式,美國的電話表示形式與中國的表示形式不一樣(如美國808-555-0269,中國(808) 5550269 ), 為此我們將phone 字段的值表示成中國式的形式。具體方法是:在 Object Inspector 中選取Table1phone對象,並為此對象的OnGetText事件編寫如下程序代碼:
TForm1.Table1PhoneGetText(Sender:TField;
Text:OpenString;DisplayText:Boolean);
begin
If DisplayText then
begin
Text:=Table1Phone.Value;
Delete(Text,4,1);
Delete(Text,7,1);
Insert('(',Text,1);
Insert(')',Text,1);
end;
end;
圖14.14 設定字段對象的顯示格式
14.4.6 自定義字段以及計算字段對象的創建
有時候為了使應用程序完成所期望的工作,我們要在數據庫表現有字段的基礎上增加一些自定義的字段,這些字段並不是數據庫表中實際存在的字段,它們常常是根據數據庫表中的其它的字段動態地計算出來的,因而它們常常被稱為計算字段。
例如我們創建一個浏覽ORDERS.DB表中記錄的應用如圖14.15所示。
浏覽ORDERS.DB表中的記錄
首先,我們想在顯示OREDRES.DB表的網格中增加一個自定義的字段對象,完成以下步驟:
1、雙擊窗體中的Table1,打開字段編輯器Fields Editor。
2、在Fields Editor窗口中,單擊鼠標右鍵,選擇New Fields菜單項。
3、Delphi顯示New Fields對話框。選擇Field Type列表框中的Currency 項,並在Field Name文體框中輸入Balance , 這樣我們自定義了一個 CurrencyField 類型的字段Balance。Delphi會自動地填入相應的字段對象名,其缺省值為Table1Balance。如圖14.16所示。
圖14.16 New Field 對話框
4、單擊Ok按鈕,關閉New Field對話框。當Fields Editor 窗口重新出現時, 注意Balance已經出現在Fields列表框中。
5、在Fields Editor 窗口中單擊鼠標右鍵, 並選擇 Add Fields 菜單項,打開AddFields對話框。
6、從Available Fields 列表框中, 按住 Ctrl 鍵並單擊鼠標左鍵,選擇字段:
OrderNo、CustNo、SaleDate、ShipData、ItemsTotal、Amountpaid以及Balance.
7、單擊OK按鈕,關閉Add Fields對話框,得到如圖14.17所示的Fields Editor窗口。
圖14.17 字段編輯器Fields Editor
8、雙擊Fields Editor的控制盒關閉字段編輯器Fields Editor。
至此我們已經為Table1創建了一個自定義的字段對象Balance,下面我們把Balance字段設置成計算字段對象,使其顯示每一個客戶的現金余額,即此字段的值是由ORDERS. DB表中ItemsTotal和Amountpaid字段的值計算而來的。為使應用程序實現這種計算功能,完成以下步驟:
1、在Object Inspector中選擇自定義字段對象Table1Balance,修改其 Calculated屬性值為True。即定義Balance字段為計算字段。
2、在Object Inspector窗口中,選擇Table1部件的Event頁。
3、雙擊OnCalcField事件,為Table1OnCalcField編寫事件處理過程如下:
procedure TForm1.Table1OnCalcFields(DataSet:TDataSet);
begin
Table1Balance.Value:=Table1ItemsTotal.Value-Table1AmountPaid.Value;
end;
浏覽ORDERS.DB 中的記錄
14.5 查詢數據庫中的記錄
數據庫中儲存著大量的數據信息,如何充分有效地查詢其中的數據,對用戶而言是至關重要的。如果想查詢數據庫,首先要確定要查詢的字段要麼是數據庫表中的關鍵字段,要麼是輔助索引。如果我們查詢的是Paradox或dBASE數據庫系統中的表,這是唯一的選擇。
一般而言,查詢數據庫中的記錄的方法有兩種:Gotokey方法和Findkey方法。兩種方法十分相似,主要區別在於我們如何指定查找值。這兩種方法的思想是在指定列(字段)中尋找指定的查找值,如果在數據庫表中找到了這個值,表中的記錄指針便指向該記錄,這樣我們便查詢到了我們需要的記錄,進而可以訪問找到的記錄中的各項數據。