浅谈Delphi编写数据库程序要点
Delphi是著名的Borland公司开发的可视化软件开发工具。有这样一句话最为经典、贴切的描述了Delphi——“真正的程序员用C,聪明的程序员用Delphi”。很多人把Delphi称为是第四代编程语言,它具有简单、高效、功能强大等特点。
和Visual C++比较,Delphi更简单、更易于学习掌握,而在功能上却毫不逊色;和Visual Basic相比,Delphi则功能更强大、更实用。可以说,Delphi兼备了VC和VB的特点,所以一直是广大程序员喜爱的编程工具。
下面,我们将分期向大家简单介绍Delphi的特点、常用组件,以及利用Delphi开发数据库程序的方法和步骤。
发展至今,从Delphi 1、Delphi 2到现在的Delphi 7、Delphi 8(Borland Delphi .net),Delphi不断扩展和改进着自身的功能、特点和优势。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如Database Desktop等。而且,还允许用户挂接其他的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。
在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适用于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。
首先,我们来简单了解一下Delphi是如何存取数据库的。
Delphi对数据库的操作主要是利用BDE(数据库引擎,Borland Database Engine的缩写)来进行。当然,通过其他方式直接访问数据库,在Delphi中也都是可以实现的。不过,对于本地数据库来说,通过BDE存取数据效率很高。对本地数据库如果能够熟练操作,编写网络数据库也就容易上手了。尤其对初学者来说,写网络数据库的机会还是不如单机本地数据库多。所以,我们把重点放在本地数据库上。
BDE是负责用户和数据库交流的中间媒介。事实上,应用程序是通过数据访问组件和BDE连接,再由BDE去访问数据库,完成对数据库的操作,而并非直接操作BDE。这样用户只需关心Delphi中的数据组件即可,不用直接和BDE打交道。
数据库组件主要分为两类:“数据访问组件”和“数据控制组件”,它们和数据库的关系可用下面的关系图来示意:
通过BDE,几乎可以操作目前所有类型的数据库。接下来,简单介绍一下Delphi中常用的数据库组件。
1. 数据访问组件(Data Access Component)
数据访问组件在Delphi组件面板的Data Access组件页上可以找到。这里我们应当注意:Table、Query和Storedproc三个控件,它们称为“数据集组件”,用于和数据库连接。学习者可以将这些控件视为“虚拟”的数据库,对它们的操作就可以认为是对数据库的操作。
(1)DataSource控件是数据集组件和数据控制组件的连接媒介。数据控制组件是用户操作数据库中数据的界面,只有通过DataSource控件才能和数据集组件连接,从而对数据进行显示、修改、维护等操作。
(2)Table控件是通过数据库引擎——BDE来存取数据库中的数据的。通过BDE将用户对数据库的操作(如添加、删除、修改等)传递给数据库。
(3)Query控件是利用SQL(Structured Query Language,结构化查询语言)通过BDE来操作数据库的,和Table控件完成的功能相似,它只是采用了SQL来实现。
(4)Storedproc控件是通过BDE对服务器数据库进行操作的,常用于客户/服务器(C/S)结构的数据库应用程序。
(5)DataBase控件一般用于建立远程的数据库服务器——客户/服务器结构的数据库应用程序和数据库之间的连接。
(6)Session控件是用于控制数据库应用程序和数据库连接的,主要用于复杂功能的实现,例如:多线程数据库程序设计。
2. 数据控制组件(Data Control Component)
数据控制组件也可以称为数据显示组件或数据浏览组件。它们的主要功能是与数据访问组件相配合,提供给用户一个对数据进行浏览、编辑等操作的界面。数据控制组件在组件板上的DataControl页上。它们主要有:DBGrid控件、DBNavigator控件、DBText控件、DBEdit控件、DBMemo控件、DBImage控件、DBListbox控件、DBComboBox控件、DBCheckBox控件、DBRadioGroup控件、DBLookupListBox控件、DBLookupComboBox控件、DBRichEdit控件、DBCtrlGrid控件、DBChart控件等。
此外,还有一些组件与数据库有关。例如,Decision Cube是一组主要用于数据统计工作的控件,以表格或图形等直观的方式表达统计结果。QReport是用来输出报表的控件,但是,根据经验来看,此控件不太适合中国人报表的习惯。此组件是Borland公司购买而来,性能不是太好,所以现在使用的不是很多。目前,有一些第三方控件提供的报表控件很好用,也有一些国人自己制作的报表控件,很适合中国人的习惯。