Delphi开发数据库应用程序概述Word下载.docx

上传人:b****6 文档编号:20819516 上传时间:2023-01-25 格式:DOCX 页数:19 大小:29.56KB
下载 相关 举报
Delphi开发数据库应用程序概述Word下载.docx_第1页
第1页 / 共19页
Delphi开发数据库应用程序概述Word下载.docx_第2页
第2页 / 共19页
Delphi开发数据库应用程序概述Word下载.docx_第3页
第3页 / 共19页
Delphi开发数据库应用程序概述Word下载.docx_第4页
第4页 / 共19页
Delphi开发数据库应用程序概述Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Delphi开发数据库应用程序概述Word下载.docx

《Delphi开发数据库应用程序概述Word下载.docx》由会员分享,可在线阅读,更多相关《Delphi开发数据库应用程序概述Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

Delphi开发数据库应用程序概述Word下载.docx

3.维护数据库:

控制数据库初始数据的装入,记录工作日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。

4.数据通信:

组织数据的传输。

DBMS主要有四种类型:

文件管理系统、层次数据库系统、网状数据库系统和关系数据库系统。

因为目前关系数据库系统应用最为广泛,所以我们重点对关系数据库系统中的几个概念进行介绍。

关系数据库(RelationalDatabase):

一个关系数据库是由若干表组成。

在Delphi中,数据库概念对应到物理文件上是有一些不同的。

对于dBASE、FoxPro、Paradox这三种数据库系统,数据库对应于某一个子目录,而其它类型如MSAccess、Btrieve则是指某个文件。

这是因为前者的表为单独的文件,而后者的表是聚集在一个数据库文件中的。

表(Table):

一个表就是一组相关的数据按行排列,象一张表格一样。

比如一个班所有学生的期末考试成绩,存在一个表中,每一行对应一名学生,在这一行中,包括学生的学号、姓名以及各门课程的成绩。

字段(Field):

在表中,每一列称为一个字段。

每一个字段都有相应的描述信息,如数据类型、数据宽度等。

记录(Record):

在表中,每一行称为一条记录。

索引(Index):

为了加快访问数据库的速度,许多数据库都使用索引。

13.1.2数据库应用程序

DBMS中存储了大量的数据信息,其目的是为用户提供数据信息服务,而数据库应用程序正是与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一目的的唯一途径。

简单地说,数据库应用程序是一个允许用户插入、修改、删除并报告数据库中的数据的计算机程序。

数据库应用程序在传统上是由程序员用一种或多种通用或专用的程序设计语言编写的,但是近年来出现了多种面向用户的数据库应用程序开发工具,这些工具可以简化使用DBMS的过程,并且不需要专门编程。

Delphi就是一种强有力的数据库应用程序开发工具。

用来生成数据库应用程序的语言主要分为三大类型:

1.过程化语言

标准的计算机程序设计语言如Pascal、Basic和C都是过程化语言,这些语言可以通过某种“应用程序接口”(API)来创建数据库应用程序,这种API由一组标准的函数(或调用)组成,这些函数和调用则扩展了语言的功能,使之能访问数据库中的数据。

当程序设计人员用过程化语言创建数据库应用时,必须把应用的代码编写成一系列的过程,每个过程执行应用的某一部分的工作,如一个过程查询数据库,而另一过程更新数据库中的数据,然后不同的过程通过其他的用户界面过程(例如菜单系统)联系在一起,并且在应用中的适当地方运行。

上述这些过程化语言一般用来创建非数据库应用程序,它们通常被称为“第三代语言”(3GL)。

还有一些过程化程序设计语言是某种特定的DBMS专用的,这些语言一般被称为“第四代语言”(4GL),即数据库专用语言。

常见的数据库专用的过程化语言如dBASE语言,Paradox数据库的PAL语言等等。

2.结构化查询语言(SQL)

结构化查询语言(StructureQueryLanguage)是基于关系模型的数据库查询语言,它是一种非过程化的程序语言,也就是说,没有必要写出将如何做某事情,只需写出做到什么就可以了。

写出的语句可看作是一个问题,称为“查询”(Query),针对这个查询,得到所需的查询结果。

下面是一个例子:

SelectName,TotalfromClasswhereTotal>

600 

这个查询意为从数据库表Class中将总分(Total)大于600的所有人选出来,并列出他们的姓名(Name)和总分(Total)。

把SQL描述为子语言更适当一些,因为它没有任何屏幕处理或用户输入/输出的能力。

它的主要目的是为了提供访问数据库的标准方法,而不管数据库应用的其余部分是用什么语言编写的,它既是为数据库的交互式查询而设计的(因此被称为动态SQL),同时也可在过程化语言编写的数据库应用程序中使用(因此被称为嵌入式SQL)。

3.其他语言

用于开发数据库应用程序的语言中,还可以使用目前数常见的“面向对象程序设计”(OOP)语言,如C++、ObjactPascal等,OOP代表了一种完全不同的程序设计方法,在这种程序设计方法中,活动被定义为在“对象”上发生的操作,而不是作为一系列过程来定义的。

在数据库应用程序中使用OOP语言的情况正在不断增加。

开发数据库应用程序使用的另一种语言是“宏”语言。

宏语言不是一种完全的程序设计语言,它实际上是一个用户手工输入的表,这个表被输入到应用程序中,以便自动执行一定的任务。

对于某个特定应用的高级语言,宏语言通常可以在低档DBMS软件中或数据库服务器的前端中找到。

最后,还有一种“Query-By-Example”(QBE,范例查询)语言。

严格地讲QBE不是一种语言,它是面向用户提供了一个或多个空表的界面,这些空表对应于数据库中的表。

用户可以通过键盘选择需要查询的列,并在适当的列中填入条件从而定义查询的检索条件,然后DBMS就把QBE转换成相应的动作,以完成用户要求的查询任务。

13.2Delphi的数据库特性及功能简介 

直到目前为止,计算机软件的开发分为两个不同的体系,其中一个体系是使用传统的程序设计语言(如Pascal、Basic和C等)开发数值控制、数值运算等软件,围绕它们的重点是算术、数据结构以及近年产生的面向对象技术。

另一个体系则是通用的数据库管理软件领域(数据库应用程序的开发)。

这两个体系的发展都极为迅猛,但是二者并没出现混合渗透迹象。

如果使用数据库语言进行传统的算术编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂。

如果使用传统的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数和过程,利用这些函数和过程提供的功能,可能也能做得比较完善,但这做起来大多是极其困难的。

而Delphi结合了两个体系的优点,它结合了传统的编程语言ObjectPascal和数据库语言的强大功能,它即可以用于传统的算术编程又可以用于数据库编程,特别是Delphi具有强大的数据库功能,利用Delphi的数据库工具,我们根本不需要编写任何ObjectPascal代码便可以创建一个简单的数据库应用。

Delphi是Borland公司于1994年底发布的用于开发数据库应用程序的工具,它是面向对象的,它是目前开发客户/服务器数据库应用程序的强有力的工具。

Delphi在Window3.1以上版本的系统环境下运行,目前具有两个版本:

Delphi的标准版本和客户/服务器版本。

标准版本包含一个BorlandDatabaseEngine的局部拷贝,它允许用户创建能访问dBASE、Paradox和LocalInterBase服务器的数据库应用,它还支持具有ODBC接口的数据库。

Delphi的客户/服务器版本包括BorlandSQLLink,它能直接访问ORACLE、SyBase和MicrosoftSQLServer,Informix以及InterBase数据库服务器。

Delphi可以访问多种数据库管理系统的数据库,凭借窗体(Forms)和报表(Reports),BDE(BorlandDatabaseEngine)可以访问诸如Paradox、dBASE、本地InterBase服务器的数据库,也可以访问远程数据库服务器上的数据库(如ORACLE、SyBase、Informix等客户/服务器数据库中的数据库),或任何经ODBC(OpenDatabaseConnecticity)可访问的数据库管理系统中的数据库。

13.2.1Delphi的数据库特性 

跟其他的应用程序一样,Delphi提供了许多部件以方便地创建数据库应用程序。

数据库对象的数据成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置。

Delphi的部件板上提供了两页数据库应用程序开发中所要使用的部件:

数据访问页(DataAccessPage)上的部件用于直接访问数据库中的数据库表。

数据控制页(DataControlPage)上的部件用来与用户交互,显示、修改数据库中的数据。

数据库应用程序首先是利用Delphi提供的数据库部件与BDE建立联系,然后再通过BDE与数据库联系。

下图阐述了Delphi的数据库工具和部件、Delphi数据库应用程序与BDE、数据源之间的关系。

下表概括了Delphi的数据库特性:

表13.1Delphi的数据库特性

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

 工具和部件 主要用途 

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

 DataAccessComponents 访问数据库、数据库表、存贮过程等 

 DataControlComponents 与用户交互,提供显示、修改数据库中数据的界面 

 DatabaseDesktop(DBD) 建立、索引、查询数据库表以及访问、编辑来自各数据 

  中的数据 

 ReportSmith 建立、浏览和打印数据库表中的数据 

 BorlandDatabaseEngine 数据库应用通过BDE访问dBASEParadox数据库中的数据 

 (BDE) 和本地InterBase数据库服务器中的数据

 BDEConfiguration 建立和管理BDE与数据库建立连接时所使用的数据库的 

 Utility 别名 

  它是一个单用户、多例程的本地SQL数据库服务器,可 

 LocalInterBaseServer 在单机环境下用来开发或测试客户/服务器数据库应用 

  程序,然后再将之扩展成一个访问远程数据库服务器如 

  ORACLE、SyBase、Informix等 

 InterBaseSQLLink 连接Delphi数据库应用程序一本地InterBase服务器的 

  驱动程序 

Delphi上述这些特性使得我们创建数据库应用程序通过BDE能够很灵活地与dBASE、Paradox、LocalInterBase数据库服务器进行连接并可以方便地访问其中的数据。

我们在创建一个简单的数据库应用时通过使用Delphi提供的上述工具和部件甚至可以不需编写任何程序。

BDE被自动地包含在Delphi中,因此,我们在创建数据库应用程序时,不必关心BDE的有关内容。

Delphi的安装程序自动为Paradox、dBASE和本地InterBaseServer安装相应的驱动程序,并建立了有关的配置,DBEConfigurationUtility可以建立应用程序与数据库的连接信息,还可以为数据库设置别名。

下表列出了Delphi开发Client/Server应用程序的有关特性,这些特性扩展了Delphi访问远程数据库的功能,如SQL数据库服务器(ORACLE、SyBase、Informix、MicrosoftSQLServer、InterBase)。

表13.2DelphiClient/server数据库特性

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

工具 主要用途

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

 SQLDrivers中的SQLlink和ReportSmith为

SQLDrivers Delphi数据库应用程序提供了访问远程SQL

 服务器的驱动程序,如访问ORACLE、SyBase、

 MicrosoftSQLserver、Informix、Intermix

VisualQueryBuilder 以可视化的方式建立SQL语句对数据库表和表

 中的记录进行操作

SQLlinks使得Delphi数据库应用程序利用SQL语言访问驻留在远程服务器上的数据,这些服务器包括ORACLE、Sybase、MicrosoftSQLServer、Informix、InterBase。

当安装SQLLink驱动程序之后,SQL语句便可以直接操作服务器上的数据。

13.2.2Delphi可以访问的数据源(DataSource)

Delphi数据库应用程序是通过BDE获取它们所需的数据的,BDE与不同类型的数据源打交道,BDE可以使用的数据源有如表13.3所示

表13.3Delphi可访问的数据源

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

数据源(DataSource) 特性描述 文件扩展名

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

 数据库表是通过dBASE数据库管理系统或 

dBASE数据库 DBD建立的,每个表是一个独立的文件 .DBF

 数据库表是通过Paradox数据库管理系统 .DB

Paradox数据库 或DBD建立的,每个表是一个独立的文件 

ASCII文件 表是通过DatabaseDesktop建立的,每个 .TXT

 表是一个独立的文件 

本地InterBase服务器 数据库是通过InterBase数据库管理系统 .GDB

 建立的,多个表包含在一个数据库文件中 

SQL数据库服务器:

 数据库是通过相应的数据库服务器提供的 依赖不同的

ORACLE,Sybase,Informix 专用或通用工具建立的,也可以通过DBD来 数据库管理

MicrosoftSQLServer 创建数据库,并通过SQLLink访问数据库 系统

InterBase  

ODBC数据源 主要是指那些具有ODBC接口的数据库系统 依赖于相应

 如MSAccess,Btrieve等 的数据库

13.3Delphi数据库的体系结构 

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对象也随之消失,它在程序设计和程序运行过程中都是不可见的。

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

13.3.1.1TTable部件 

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

1、在部件选择板上选择DataAccess页;

2、单击Table图标;

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

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

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

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

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

设置为False时,暂时不打开要访问的数据库表。

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

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

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

●指定字段显示的顺序

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

●为字段增加合法性检验

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

13.3.1.2TQuery部件 

TQuery部件是我们使

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1