13.3.2 数据控制部件
数据控制部件页上的部件,主要用于设计用户界面,对数据库中的数据进行浏览、编辑、插入、删除等操作。因而数据控制部件常常又被称为数据浏览部件,数据控制部件其实是在Standard页上的标准部件的基础上,相应地增加了数据浏览功能,使得它们能够显示和编辑数据库中数据信息。
数据控制部件既能够把数据库中的数据显示到窗体中,又可以将其自身的经过修改的数据写回到数据库中。下表列出了数据控制页上的数据控制部件及它们的主要用途。
表13.5 数据控制部件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
部件名称 主 要 用 途
───────────────────────────────
使用该部件可以向前向后移动记录指针,可以使
TDBNavigator 用该部件对单条记录进行编辑,还可以用它来插
入、删除记录以及刷新显示和取消前一次的操作
───────────────────────────────
它是显示数据库中的数据的文本框,它只能显示
TDBText 数据库表当前记录的字段值,用户不能对其中的
数据进行修改。
───────────────────────────────
它是显示和编辑数据库表中的数据的编辑框,它
TDBEdit 既可以显示又可以编辑数据库表中当前记录的字
段值。
───────────────────────────────
TDBCheckBox 它是浏览数据库中的数据的检查框,它可以用来
显示和编辑数据库中的布尔型字段的字段值。
───────────────────────────────
TDBListBox 它是浏览数据库中的数据的列表框,它可以用一
个列表框来显示数据库表中一个字段的值。
───────────────────────────────
TDBComboBox 它是浏览数据库中的数据的组合框,它可以用一
个组合框来显示数据库表中一个字段的值。
───────────────────────────────
TDBRadioGroup 它是浏览数据库表中的数据的单选钮,用一组单
选钮可以确定显示数据库表中哪一个字段。
───────────────────────────────
TDBGrid 它是浏览数据库中的数据的网格,以网格的方式
显示数据库中的数据,在网格中还可以对数据库
中的数据进行编辑。利用Fields Editor可以对
数据库表中字段的显示格式、显示顺序、是否显
示等进行控制。
───────────────────────────────
TDBMemo 它主要用于浏览数据库中备注型的字段,它可以
用来显示数据库表中当前记录中的BLOB型字段。
───────────────────────────────
TDBImage 它是浏览数据库中的数据的图像框,它可以用于
显示、拷贝、粘贴据库表中图像类型的字段。
───────────────────────────────
TDBLookUpList 它是浏览数据库表中的数据的列表框,在基于一
个数据库表的应用中,用它可以显示另一个数据
库表中一个指定的字段值。
───────────────────────────────
TDBLookUpCombo 它是浏览数据库表中的数据的组合框,在基于一
个数据库表的应用中,用它可以显示另一个数据
库表中一个指定的字段值。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
数据控制部件为开发Delphi数据库应用程序提供可视化的用户界面,不管应用程序是访问本地数据库中的数据文件,还是访问远程数据库服务器中的数据文件,用户界面都是一致的,即数据库的物理位置对数据控制部件是透明的。
13.3.3 数据库窗体专家和数据库操作台(DBD)
Delphi为用户开发简单的数据库应用程序提供了一个开发工具叫做“数据库窗体专家”(Database Form Expert),在Delphi系统菜单Tool菜单下可以找到。
数据库窗体专家能够自动生成简单的数据库应用程序中所必须完成的许多任务,它还可以生成基于单个数据库表的应用程序窗体或基于主要──明细型多个数据库表的应用程序窗体,数据库窗体专家能够自动完成的任务如下:
● 放置数据库部件到窗体中(TDataSource部件)
● 为数据集部件(TTable、TQuery)和磁盘上的数据库建立连接
● 建立数据源(TDataSource)与数据控制部件的连接,数据源(TDataSource)与 数据访问部件(TTable、TQuery)的连接
● 为TQuery部件编写SQL语句
● 为窗体中的部件定义Tab顺序
数据库操作台(DBD)是数据库维护和数据定义工具,程序设计人员利用它可以查询、连接、建立、重构、索引、修改和拷贝数据库表,包括Pà€aradox和dBASE文件和基于 SQL语言的数据库表。而且在使用DBD操作Paradox或dBASE的表时,用户不必拥有 Paradox 或dBASE数据库管理系统。DBD还可以把一种格式的数据和数据字典拷贝成另一种格式,例如,你可以将一个dBASE的表拷贝到远程的SQL服务器上的一个数据库中去。有关DBD详细描述,请参看“数据库操作台(DBD)的使用”。
13.4 Delphi数据库应用程序的开发方法和步骤
13.4.1 概述
用Derphi用开数据库应用程序,虽然与开发其他应用程序有相似之处,但是也有一些重要的区别,我们必须要加以注意。
利用Delphi的客户/服务器功能,程序设计者可以在本地数据库上或远程数据库服务器上开发客户/服务器模式的应用程序。Delphi 的一个强有力的功能之一是可以将基于本地桌面数据库系统的应用程序很容易地修改成客户/服务器模式的应用。一个Delphi 数据库应用程序访问的是本地数据库还是远程SQL数据库服务器上的数据库,这对于最终用户是完全透明的。即数据库的物理位置对最终用户是透明的,当数据库的物理位置发生变化时,用户界面不必随之变化。
因为数据库应用程序的是依赖于它所访问的数据库的,所以在开发数据库应用程序之前必须要建立一个完善的数据库即数据定义,数据定义应当是开发数据库应用程序的一部分,但它超出了书本的范围,有关数据定义的内容,请参看关系数据库设计方面的资料。在我们用Derphi开发一个数据库应用程序时,可能有下列四种情况。
1、数据库不存在或者必须要重新定义。使用DBD为本地数据库定义Paradox或dBASE 数据库表。使用Delphi提供的服务器开发工具如Windows ISQL或DBD定义本地或远程SQL数据库务器上的数据库。
2、数据库在桌面数据库系统中或局域网上(如Paradox或dBASE),而且BDE、数据库和应用程序在同一台机器上,这是典型的独立应用。
3、数据库在桌面数据库系统中,但是用户要把它改变到SQL数据库服务器中去,这种情况我们在附录C中详细讨论。
4、数据库在SQL数据库服务器中,而且应用程序将到SQL数据库服务器中去访问数据库,这是一个标准的客户/服务器应用。
有关开发客户/服务器应用程序的详细内容,参看“客户/服务器应用”一章。
13.4.2 数据库应用程序的开发步骤
数据库应用程序的最终目标就是为用户提供一个满足其长期需要的软件产品,因此,成功地开发一个数据库应用程序的关键之一是要详细地定义用户的需求,然后再围绕用户的需求进行开发,数据库应用程序的一般开发的三个基本步骤如下。
● 系统设计
● 系统实现
● 系统运行和维护
在这个三个基本步骤中,都包含着数据库的开发和应用程序界面的开发两大类任务,对于一个客户/服务器模式的应用,数据库和应用界面的区别就更明显一些,因为它们运行在不同的平台之上,而且使用的操作系统都常常不一样,如(一个Unix环境的服务器和Windows环境的客户机)。
1、系统设计
系统设计阶段应当根据用户的需求,明确地描述数据库(数据库服务器端)和应用界面(客户机端)实现的功能,即决定哪些功能由服务器端实现,哪些功能由客户机端实现,对于客户/服务器应用程序,许多功能既可以在服务器端实现又可以在客户端实现的,例如一个复杂的数学变换功能既可以由客户端的应用程序实现,也可以由服务器端的存贮过程实现。服务器和客户端应用程序功能的划分往往取决于应用程序运行的硬件环境,例如:如果客户端是低档的PC机,服务器端是高档的工作站,那么大量的计算由服务器完成是比较理想的。
2、系统实现
系统实现阶段的主要任务是使用Delphi提供的工具和部件以及Pascal语言实现系统设计阶段的设想,并进行调试。
在系统实现阶段,最好使用数据库的一个备份数据库,这个备份的数据库与原数据库具有相同的结构,但其中的数据库只是原数据库中的一部分,至所以不在原数据库上开发应用程序,是因为考虑到没有调试好的应用程序可能会破坏数据库中的数据或者妨碍数据库的正常操作。
如果应用程序是基于远程SQL数据库服务器的,在系统实现阶段可以采用两种方法:
● 在本地InterBase服务器上,使用数据库的备份数据库进行开发和调试
● 在远程服务器上,使用数据库的备份数据库进行开发和调试
第一种方法优越性在于,它是独立于服务器的,而不至于影响服务器的其它的操作,而且不消耗服务器的资源不增加网络的负担。它的不利的方面是开发出来的应用程序只能在标准的SQL服务器上使用和调试。第二种方法能够使程序设计人员直接感受到服务器的特性,但它在调试阶段要消耗网络和服务器的资源,这种方法具有一定的危险性,程序中的错误可能会导致服务器的瘫痪。
[1] [2] 下一页
……