第十三章-Delphi开发数据库应用程序概述(一)(3)

13.3 Delphi数据库的体系结构 

Delphi使用可视化的部件创建数据库应用,跟创建其它的非数据库应用程序一样,数据库部件都具备一定的属性,程序设计人员可以在设计过程中设置部件的多种属性,也可以在程序运行过程中通过程序来设置部件的各种属性。

在Delphi部件板上有两页数据库部件用于开发数据库应用程序:

数据访问部件页:该页上的部件主要用于说明有关的数据库的信息,如应用程序要访问(连接)的数据库,要访问数据库中的具体的数据库表,以及要访问表中哪些字段等,在实际的开发应用中常用的部件有TDataSource、TTable、TQuery等。

数据控制部件页:该页上的部件主要用于显示浏览数据库中的数据信息,为用户提供了一个可视化的界面,常用的部件有:TDBGrid、TDBEdit、TDBCheck等,可以让用户对数据库中的信息进行有效的浏览、编辑、插入、删除等操作。

TTable、TQuery、TStoredproc部件负责与实际的数据库表联系,并从中获取数据信息,因而它们又常常被称为数据集部件,它们在程序设计过程中是可见的,但在程序运行时是不可见的,它们通过 BDE 为应用程序提供与数据库的连接, 数据控制部件通过TDataSource部件与数据集部件相连,为用户提供一个可视化的界面,并在其中显示数据库中的数据信息。

13.3.1 数据访问部件 

数据访问部件页上提供了一组数据访问部件用来访问数据库中的数据。  

图13.3 数据访问页上的数据访问部件 

当要创建一个数据库应用时,首先在窗体中选择一个数据访问部件,然后为数据访问部件设置有关的属性,说明要访问的数据库、数据表以及表中的记录等,数据访问部件为数据控制部件与数据源建立一条通道。数据访问部件在程序运行时是不可见的。下表列出了数据访问页上的数据访问部件以及它们的主要用途: 

表13.4 数据访问部件

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

部件名称   主 要 用 途

────────────────────────────

 作为数据集部件TTable、TQuery、StoredProc组

TDataSource 件与数据浏览件TDBGrid、TDBEdit之间传送数据

 的通道。

────────────────────────────

 它是存取磁盘上数据库表的媒介,它通过BDE存

TTable  取数据库表中的数据,TTable再与TDataSource

 进行“对话”,使得数据浏览部件能够有效地从

 TTable中访问数据并能显示和编辑其中的数据。

────────────────────────────

 它利用SQL语言访问磁盘上数据库表中的数据,

TQuery  并与TDataSource“对话”,实现数据浏览部件

 对数据库的访问。

────────────────────────────

TStoredProc 在应用程序中,它主要用来访问远程服务器中的

 存贮过程

────────────────────────────

 当应用程序要登录到一个远程服务器上的数据库

TDatabase  时,可以用该部件来建立应用程序与数据库永久

 性的连接。

────────────────────────────

TBatchMove 用于复制数据库表的结构或表中的记录。

────────────────────────────

TReport  用于创建数据库的输出报表。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

值得指出的是在绝大多数数据库应用中,一般都是使用数据集部件TTable、TQuery或TStoredProc与磁盘上的数据库进行连接,用TDataSource部件连接数据控制部件和数据集部件,当然用户也可以自定义数据集部件,用于数据库应用当中, TTable 、 TQuery 和TStoredProc部件中都包含一个不可见的TField类型的对象Fields,Fields是一个串列表,它对应于数据库表或一个查询结果的列或字段。Fields对象是伴随着TTable、 TQuery 和TStoredproc部件的活动状态动态地建立的,当数据库表被关闭时,Fields 对象也随之消失,它在程序设计和程序运行过程中都是不可见的。

当然也可以利用Fields Editor建立永久性的Fields对象供Delphi应用程序使用,我们将在后面的内容中详细阐述。

13.3.1.1 TTable部件 

利用TTable部件程序设计人员甚至可以不需要编写任何程序便可对数据库进行访问,在一个应用程序窗体中放置一个TTable部件的过程如下:

1、在部件选择板上选择Data Access页;

2、单击Table图标;

3、在窗体内单击鼠标,获得一个TTable部件;

4、为TTable部件设置有关的属性:

DatabaseName属性指定要访问的数据库所在的路径名,路径名可以用别名来表示。

TableName属性指定要访问数据库中具体的数据库表。

Active属性设置为True时,表示打开要访问的数据库表;设置为False时,暂时不打开要访问的数据库表。

缺省情况下,TTtable部件中包含了要访问的数据库表中所有的字段和记录,用鼠标双击TTable图标时,会出现一个字段编辑器(Fields Editor),使用Fields Editor可以对TTable部件中包含的数据库表中的字段的显示格式等属性进行编辑,具体可以控制:

● 建立一个永久性的字段列表,包括字段的顺序,字段的类型等,即使磁盘上实际的数据库表的表结构发生了改变,我们建立的这个永久性的字段列表也不会发生改变

● 为每个字段指定一个便于阅读和使用的名字

● 指定字段显示的顺序

● 为每个字段指定一个用于显示的字符串

● 为字段增加合法性检验

● 为了显示的需要还可以建立新的字段(如可计算的字段)具体的使用方法见后面的内容

13.3.1.2 TQuery部件 

TQuery部件是我们使用SQL语言开发数据库应用程序的有力工具,因为使用SQL语言,我们可以非常方便灵活地对一个或多个数据库表中的记录进行访问,所以利用TQuery我们可以查询本地的数据库如Pà?aradox和dBASE数据库系统中的数据,我们还可以使用TQuery部件对一个远地的数据库SQL服务器进行访问,建立Client/Server模式的应用程序。

在一个应用程序窗体中放置一个TQuery部件的过程如下:

1、在部件选择板上选择Data Access页;

2、单击Query图标;

3、在窗体内单击鼠标,获得一个TQuery部件;

4、为TQuery部件设置有关的属性:

DatabaseName属性指定将要访问的数据库的路径名。

SQL属性指定对数据库表进行访问SQL语句,它可以是一条查询语句也可以是一条修改语句或插入语句等。在对象浏览器上,单击SQL属性时,会打开一个字符串编辑器供程序设计者输入SQL语句。

在这里要注意在TQuery部件中,不是用TableName 属性来指定要访问的数据库中的数据库表,而是在SQL属性中,通过SQL语句来指定将要访问的数据库表。

13.3.1.3 TDataSouece部件 

TDataSource部件是连接数据集部件TTable、TQuery、 TStoredProc 和数据控制部件TDBGrid、TDBEdit等的桥梁,TTable、TQuery、TStoredProc部件通过BDE可以实现与磁盘上的数据库连接即访问,但它们本身不能显示数据库中的数据信息, 而数据控制部件如TDBGrid、TDBEdit等能够提供可视化的界面,显示数据库中的数据信息,但它们不具备访问磁盘数据库的能力,正是TDataSource将这两者有机地结合起来,使得用户才能交互地对数据库中的数据信息进行查询、修改、插入、删除等操作。

在应用程序窗体中放置TDataSource部件的过程如下:

1、在部件选择板上选择Data Access页;

2、单击DataSource图标;

3、在窗体内单击鼠标,获得一个TDataSource部件;

4、为TDataSource部件设置有关的属性:

Dataset属性指定一个数据集部件,可以是TTable、TQuery或TStoredProc部件的名字。

时间: 2024-09-03 18:39:32

第十三章-Delphi开发数据库应用程序概述(一)(3)的相关文章

第十三章-Delphi开发数据库应用程序概述(二)(2)

13.3.3 数据库窗体专家和数据库操作台(DBD) Delphi为用户开发简单的数据库应用程序提供了一个开发工具叫做"数据库窗体专家"(Database Form Expert),在Delphi系统菜单Tool菜单下可以找到. 数据库窗体专家能够自动生成简单的数据库应用程序中所必须完成的许多任务,它还可以生成基于单个数据库表的应用程序窗体或基于主要──明细型多个数据库表的应用程序窗体,数据库窗体专家能够自动完成的任务如下: ● 放置数据库部件到窗体中(TDataSource部件) ●

第十三章-Delphi开发数据库应用程序概述(一)(1)

13.1 数据库系统概述 数据库系统为我们提供了一种把与我们的工作和生活紧密相关的信息集合在一起的方法,它还提供了在某个集中的地方存储和维护这些信息的方法.数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序).数据库应用程序(它使我们能够获取.显示和更新由DBMS存储的数据).数据库(按一定结构组织在一起的相关数据的集合). 一般来说,DBMS和数据库应用程序都驻留在同一台计算机上并在同一台计算机上运行,很多情况下两者甚至结合在同一个程序中,以前使用的大

第十三章-Delphi开发数据库应用程序概述(二)(1)

13.3.2 数据控制部件 数据控制部件页上的部件,主要用于设计用户界面,对数据库中的数据进行浏览.编辑.插入.删除等操作.因而数据控制部件常常又被称为数据浏览部件,数据控制部件其实是在Standard页上的标准部件的基础上,相应地增加了数据浏览功能,使得它们能够显示和编辑数据库中数据信息. 数据控制部件既能够把数据库中的数据显示到窗体中,又可以将其自身的经过修改的数据写回到数据库中.下表列出了数据控制页上的数据控制部件及它们的主要用途. 表13.5 数据控制部件 ━━━━━━━━━━━━━━━

第十三章-Delphi开发数据库应用程序概述(一)(2)

13.2.1 Delphi的数据库特性 跟其他的应用程序一样,Delphi提供了许多部件以方便地创建数据库应用程序.数据库对象的数据成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置.Delphi的部件板上提供了两页数据库应用程序开发中所要使用的部件: 数据访问页(Data Access Page)上的部件用于直接访问数据库中的数据库表. 数据控制页(Data Control Page)上的部件用来与用户交互,显示.修改数据库中的数据. 数据库应用程序首先是利用Delphi提供的数据库部

第十三章-Delphi开发数据库应用程序概述(二)(3)

3.系统运行和维护 一个应用系统性能的优劣,效率的高低始终应当由用户来做出判决,应用程序在运行过程中,用户会提出一些新的需求和建议,根据用户需求的变化,应当对应用程序做一定的修改,使其进一步地得到完善和提高. 13.4.3 交付数据库应用程序 交付数据库应用程序意味着将它交付给最终用户,并且提供应用程序运行所需的软件,非数据库应用程序往往只需要一个EXE文件,而数据库应用程序要包括下列几类文件: ● 数据库应用程序生成的EXE文件和DLL文件(如果有的话) ● 必要的辅助文件(如Readme文件

第十三章-Delphi开发数据库应用程序概述(二)(4)

13.4.5 安装SQL Link 安装SQL链接与安装BDE执行相同的步骤,在图13.7中只选择SQL Link检查框,然后执行安装,选择应用程序要访问的SQL数据库服务器,当选择安装SQL Link时, 安装程序会自动地安装BDE.根据用户选择的SQL数据库服务器,安装程序会自动地提示相关的特定信息,例如Informix数据库系统的链路(SQL Link)需要一个放置消息文件的地方.用户选择的每个SQL Link都使用一个或多个附加的动态链接库(DLL文件),这些文件将要拷贝到BDE目录中,

Delphi开发数据库应用程序概述

13.1 数据库系统概述 数据库系统为我们提供了一种把与我们的工作和生活紧密相关的信息集合在一起的方法,它还提供了在某个集中的地方存储和维护这些信息的方法.数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序).数据库应用程序(它使我们能够获取.显示和更新由DBMS存储的数据).数据库(按一定结构组织在一起的相关数据的集合). 一般来说,DBMS和数据库应用程序都驻留在同一台计算机上并在同一台计算机上运行,很多情况下两者甚至结合在同一个程序中,以前使用的大

VC中使用ADO开发数据库应用程序简明教程_C 语言

本文实例讲述了VC中使用ADO开发数据库应用程序的方法.分享给大家供大家参考,具体如下: 一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口.ADO 使您能够编写应用程序以通过 OLE.DB 提供者访问和操作数据库服务器中的数据.ADO 最主要的优点是易于使用.速度快.内存支出少和磁盘遗迹小.ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量.高性能的接口.之所以

多层数据库开发十三:剖析几个数据库应用程序

                            第十三章 剖析几个数据库应用程序 前面已经详细讲述了Delphi 4的数据库编程技术.为了使读者能够透彻地理解有关编程技术并灵活运用,我们把Delphi 4的几个示范程序拿出来加以剖析,这些示范程序都编得非常有技巧.要说明的是,剖析程序时我们可能会忽略掉一些与主题无关的细节.13.1 一个后台查询的示范程序 这一节详细剖析一个后台查询的示范程序,项目名称叫Bkquery,它可以在C:/Program Files/Borland/Delphi