第十四章-简单数据库应用的创建及MASTAPP介绍(二)(3)2007-05-0714.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);beginIf DisplayText thenbegin 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 Editor8、双击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);beginTable1Balance.Value:=Table1ItemsTotal.Value-Table1AmountPaid.Value;end; 浏览ORDERS.DB 中的记录
14.5 查询数据库中的记录
数据库中储存着大量的数据信息,如何充分有效地查询其中的数据,对用户而言是至关重要的。如果想查询数据库,首先要确定要查询的字段要么是数据库表中的关键字段,要么是辅助索引。如果我们查询的是Paradox或dBASE数据库系统中的表,这是唯一的选择。 一般而言,查询数据库中的记录的方法有两种:Gotokey方法和Findkey方法。两种方法十分相似,主要区别在于我们如何指定查找值。这两种方法的思想是在指定列(字段)中寻找指定的查找值,如果在数据库表中找到了这个值,表中的记录指针便指向该记录,这样我们便查询到了我们需要的记录,进而可以访问找到的记录中的各项数据。