首页 Delphi入门---第十三章 Delphi开发数据库应用程序概述

Delphi入门---第十三章 Delphi开发数据库应用程序概述

举报
开通vip

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

Delphi入门---第十三章 Delphi开发数据库应用程序概述
Delphi入门---第十三章 Delphi开发数据库应用程序概述 13.1 数据库系统概述 数据库系统为我们提供了一种把与我们的工作和生活 紧密相关的信息集合在一起的方法,它还提供了在某个集中的地 方存储和维护这些信息的方法。数据库系统主要由三大部分组 成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息 的程序)、 数据库应用程序(它使我们能够获取、显示和更新 由DBMS存储的数据)、数据库(按一定结构组织在一起的相关 数据的集合)。 一般来说,DBMS和数据库应用程序都驻留在同一台计 算机上并在同一台计算机上运行,很多情况下两者甚至结合在同 一个程序中,以前使用的大多数数据库系统都是用这种方法设计 的。但是随着DBMS技术的发展,目前的数据库系统正向客户/ 服务器模式发展。客户/服务器数据库将DBMS和数据库应用程序分开,从而提高了数据库系统的处理能力。数据库应用程序运行 在一个或多个用户工作站(客户机)上,并且通过网络与运行在 其它计算机上(服务器)的一个或多个DBMS进行通信。 下面是数据库系统中一些概念和述语。 13.1.1 数据库管理系统(DBMS) 数据库管理系统(DBMS)是用于描述、管理和维护数据 库的程序系统,是数据库系统的核心组成部分。它建立在操作系 统的基础上,对数据库进行统一的管理和控制。其主要功能有: 1. 描述数据库:描述数据库的逻辑结构、存储结构、语义信息和 保密要求等。 2. 管理数据库:控制整个数据库系统的运行,控制用户的并发 性访问,检验数据的安 全、保密与完整性,执行数据检索、插 入、删除、修改等操作。 3.维护数据库:控制数据库初始数据的装入,记录工作日志,监 视数据库性能,修改更新数据库,重新组织数据库,恢复出现故 障的数据库。 4.数据通信 :组织数据的传输。 DBMS主要有四种类型:文件管理系统、层次数据库系统、 网状数据库系统和关系数据库系统。因为目前关系数据库系统应 用最为广泛,所以我们重点对关系数据库系统中的几个概念进行 介绍。 关系数据库(Relational Database):一个关系数据库是由若干表组成。在Delphi中,数据库概念对应到物理文件上 是有一些不同的。对于dBASE、FoxPro、Paradox这三种数据库 系统,数据库对应于某一个子目录,而其它类型如MS Access、 Btrieve则是指某个文件。这是因为前者的表为单独的文件,而 后者的表是聚集在一个数据库文件中的。 表(Table):一个表就是一组相关的数据按行排列,象 一张 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 一样。比如一个班所有学生的期末考试成绩,存在一个 表中,每一行对应一名学生,在这一行中,包括学生的学号、姓 名以及各门课程的成绩。 字段(Field):在表中,每一列称为一个字段。每一个 字段都有相应的描述信息,如数据类型、数据宽度等。 记录(Record):在表中,每一行称为一条记录。 索引(Index):为了加快访问数据库的速度,许多数据库都使用 索引。 13.1.2 数据库应用程序 DBMS中存储了大量的数据信息,其目的是为用户提供 数据信息服务,而数据库应用程序正是与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一 目的的唯一途径。简单地说,数据库应用程序是一个允许用户插 入、修改、删除并报告数据库中的数据的计算机程序。数据库应 用程序在传统上是由程序员用一种或多种通用或专用的程序设 计语言编写的,但是近年来出现了多种面向用户的数据库应用程 序开发工具,这些工具可以简化使用DBMS的过程,并且不需要 专门编程。Delphi就是一种强有力的数据库应用程序开发工具。 用来生成数据库应用程序的语言主要分为三大类型: 1.过程化语言 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的计算机程序设计语言如Pascal、Basic和C都是过程化语言,这些语言可以通过某种“应用程序接口”(API)来创建数据库应用程序,这种API由一组标准的函数(或调用) 组成,这些函数和调用则扩展了语言的功能,使之能访问数据库 中的数据。当程序设计人员用过程化语言创建数据库应用时,必 须把应用的代码编写成一系列的过程,每个过程执行应用的某一 部分的工作,如一个过程查询数据库,而另一过程更新数据库中 的数据,然后不同的过程通过其他的用户界面过程(例如菜单系 统)联系在一起,并且在应用中的适当地方运行。 上述这些过程化语言一般用来创建非数据库应用程序, 它们通常被称为“第三代语言”(3GL)。还有一些过程化程序 设计语言是某种特定的DBMS专用的, 这些语言一般被称为“第 四代语言”(4GL),即数据库专用语言。常见的数据库专用的 过程化语言如dBASE语言,Paradox数据库的PAL语言等等。 2.结构化查询语言(SQL) 结构化查询语言(Structure Query Language)是基于关系模型的数据库查询语言,它是一种非过程化的程序语言,也 就是说,没有必要写出将如何做某事情,只需写出做到什么就可 以了。写出的语句可看作是一个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,称为“查询”(Query),针对这个查询,得到所需的查询结果。下面是一个例子: Select Name,Total from Class where Total>600 这个查询意为从数据库表Class中将总分(Total)大于600的所有人选出来, 并列出他们的姓名(Name)和总分(Total)。 把SQL描述为子语言更适当一些,因为它没有任何屏幕 处理或用户输入/输出的能力。它的主要目的是为了提供访问数 据库的标准方法,而不管数据库应用的其余部分是用什么语言编 写的,它既是为数据库的交互式查询而设计的(因此被称为动态 SQL), 同时也可在过程化语言编写的数据库应用程序中使用(因 此被称为嵌入式SQL)。 3.其他语言 用于开发数据库应用程序的语言中,还可以使用目前数 常见的“面向对象程序设计”(OOP)语言,如C++、 Objact Pascal等,OOP代表了一种完全不同的程序设计方法, 在这种程序设计方法中,活动被定义为在“对象”上发生的操作,而不是作为 一系列过程来定义的。在数据库应用程序中使用OOP语言的情况正在不断增加。 开发数据库应用程序使用的另一种语言是“宏”语言。 宏语言不是一种完全的程序设计语言,它实际上是一个用户手工 输入的表,这个表被输入到应用程序中,以便自动执行一定的任 务。对于某个特定应用的高级语言,宏语言通常可以在低档DBMS软件中或数据库服务器的前端中找到。 最后,还有一种“Query-By-Example”(QBE,范例查询)语言。严格地讲QBE不是一种语言,它是面向用户提供了一 个或多个空表的界面,这些空表对应于数据库中的表。用户可以 通过键盘选择需要查询的列,并在适当的列中填入条件从而定义 查询的检索条件,然后DBMS就把QBE转换成相应的动作,以完 成用户要求的查询任务。 13.2 Delphi的数据库特性及功能简介 直到目前为止,计算机软件的开发分为两个不同的体 系,其中一个体系是使用传统的程序设计语言(如Pascal、Basic和C等)开发数值控制、数值运算等软件,围绕它们的重点是算 术、数据结构以及近年产生的面向对象技术。另一个体系则是通 用的数据库管理软件领域(数据库应用程序的开发)。这两个体 系的发展都极为迅猛,但是二者并没出现混合渗透迹象。如果使 用数据库语言进行传统的算术编程,虽然也能完成相应的功能, 但是其编程过程可能极为复杂。如果使用传统的编程语言进行数 据库编程,通过调用专用的数据库应用程序接口函数和过程,利 用这些函数和过程提供的功能,可能也能做得比较完善,但这做 起来大多是极其困难的。而Delphi结合了两个体系的优点,它 结合了传统的编程语言Object Pascal和数据库语言的强大功 能, 它即可以用于传统的算术编程又可以用于数据库编程,特 别是Delphi具有强大的数据库功能,利用Delphi的数据库工具,我们根本不需要编写任何Object Pascal代码便可以创建一个简 单的数据库应用。 Delphi是Borland公司于1994年底发布的用于开发数 据库应用程序的工具, 它是面向对象的,它是目前开发客户/服务器数据库应用程序的强有力的工具。Delphi在Window3.1以上版本的系统环境下运行,目前具有两个版本:Delphi的标准版本和客户/服务器版本。标准版本包含一个Borland Database Engine的局部拷贝,它允许用户创建能访问dBASE、Paradox和Local InterBase 服务器的数据库应用, 它还支持具有 ODBC 接口的数据库。Delphi的客户/服务器版本包括 Borland SQL Link, 它能直接访问 ORACLE 、 SyBase 和Microsoft SQL Server,Informix以及InterBase数据库服务器。 Delphi可以访问多种数据库管理系统的数据库,凭借 窗体(Forms)和报表(Reports),BDE(Borland Database Engine) 可以访问诸如Paradox、dBASE、本地InterBase 服务器的数据库,也可以访问远程数据库服务器上的数据库(如ORACLE、SyBase、Informix等客户/服务器数据库中的数据库),或任何经ODBC(Open Database Connecticity) 可访问的数据库管理系 统中的数据库。 13.2.1 Delphi的数据库特性 跟其他的应用程序一样,Delphi提供了许多部件以方 便地创建数据库应用程序。数据库对象的数据成员既可在设计阶 段设置,也可在运行阶段通过程序代码进行设置。Delphi的部件板上提供了两页数据库应用程序开发中所要使用的部件: 数据访问页(Data Access Page)上的部件用于直接访 问数据库中的数据库表。 数据控制页(Data Control Page)上的部件用来与用 户交互,显示、 修改数据库中的数据。 数据库应用程序首先是利用Delphi提供的数据库部件与BDE建立联系,然后再通过BDE与数据库联系。下图阐述了Delphi的数据库工具和部件、Delphi数据库应用程序与BDE 、数据源之间的关系。 下表概括了Delphi的数据库特性: 表13.1 Delphi的数据库特性 ??????????????????????????? ??????????? 工具和部件 主 要 用 途 ??????????????????????????? ??????????? Data Access Components 访问数据库、数据库表、存贮过程等 ??????????????????????????? ??????????? Data Control Components 与用户交互,提供显示、修改数据库中数据的界面 ??????????????????????????? ??????????? Database Desktop(DBD) 建立、索引、查询数据库表以及访问、编辑来自各数据 中的数据 ??????????????????????????? ??????????? ReportSmith 建立、浏览和打印数据库表中的数据 ??????????????????????????? ??????????? Borland Database Engine 数据库应用通过BDE访问dBASE Paradox数据库中的数据 (BDE) 和本地InterBase数据库服务器中的数据 ??????????????????????????? ??????????? BDE Configuration 建立和管理BDE与数据库建立连接时 所使用的数据库的 Utility 别名 ??????????????????????????? ??????????? 它是一个单用户、多例程的本地SQL数据库服务器,可 Local InterBase Server 在单机环境下用来开发或测试客 户/服务器数据库应用 程序,然后再将之扩展成一个访问远程数据库服务器如 ORACLE、SyBase、Informix等 ??????????????????????????? ??????????? InterBase SQL Link 连接Delphi数据库应用程序一本地 InterBase服务器的 驱动程序 Delphi上述这些特性使得我们创建数据库应用程序通过BDE能够很灵活地与 dBASE 、Paradox、Local InterBase数据库服务器进行连接并可以方便地访问其中的数据。我们在创建一个简单 的数据库应用时通过使用Delphi提供的上述工具和部件甚至可 以不需编写任何程序。 BDE被自动地包含在Delphi中,因此,我们在创建数据库应用 程序时,不必关心BDE的有关内容。Delphi的安装程序自动为Paradox、dBASE和本地InterBaseServer 安装相应的驱动程序, 并建立了有关的配置,DBE Configuration Utility 可以建立应用程序与数据库的连接信息,还可以为数据库设置别名。 下表列出了Delphi开发Client/Server应用程序的有关特性, 这些特性扩展了 Delphi访问远程数据库的功能,如SQL数据库服务器(ORACLE、SyBase、Informix、 Microsoft SQL Server、InterBase)。 表13.2 Delphi Client/server数据库特性 ??????????????????????????? ?????? 工 具 主 要 用 途 ??????????????????????????? ?????? SQL Drivers中的SQL link和ReportSmith为 SQL Drivers Delphi数据库应用程序提供了访问远程SQL 服务器的驱动程序,如访问ORACLE、SyBase、 Microsoft SQL server、Informix、Intermix ??????????????????????????? ?????? Visual Query Builder 以可视化的方式建立SQL语句对数据库表和表 中的记录进行操作 ??????????????????????????? ?????? SQL links使得Delphi数据库应用程序利用SQL语言访问驻留在远程服务器上的数据,这些服务器包括ORACLE、Sybase、Microsoft SQL Server、Informix、InterBase。 当安装SQL Link驱动程序之后,SQL语句便可以直接操作服务器上的数据。 13.2.2 Delphi可以访问的数据源(DataSource) Delphi数据库应用程序是通过BDE获取它们所需的数据的,BDE与不同类型的数据源打交道,BDE可以使用的数据源有如表13.3所示 表13.3 Delphi可访问的数据源 ??????????????????????????? ?????????? 数据源(DataSource) 特 性 描 述 文件扩展名 ??????????????????????????? ?????????? 数据库表是通过dBASE数据库管理系统或 dBASE数据库 DBD建立的,每个表是一个独立的文件 .DBF ??????????????????????????? ?????????? 数据库表是通过Paradox数据库管理系统 .DB Paradox数据库 或DBD建立的,每个表是一个独立的文件 ??????????????????????????? ?????????? ASCII文件 表是通过Database Desktop建立的,每个 .TXT 表是一个独立的文件 ??????????????????????????? ?????????? 本地InterBase服务器 数据库是通过InterBase数据库管理系统 .GDB 建立的,多个表包含在一个数据库文件中 ??????????????????????????? ?????????? SQL数据库服务器: 数据库是通过相应的数据库服务器提供的 依赖不同的 ORACLE,Sybase,Informix 专用或通用工具建立的,也可以通过DBD来 数据库管理 Microsoft SQL Server 创建数据库,并通过SQL Link访问数据库 系统 InterBase ??????????????????????????? ?????????? ODBC数据源 主要是指那些具有ODBC接口的数据库系统 依赖于相应 如MS Access,Btrieve等 的数据库 ??????????????????????????? ?????????? 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部件的 名字。 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数据库服务器上的数据库, 这对于最终用户是完全透明的。 即数据库的物理位置对最终用户是透明的,当数据库的物理位置 发生变化时,用户界面不必随之变化。 因为数据库应用程序的是依赖于它所访问的数据库的, 所以在开发数据库应用程序之前必须要建立一个完善的数据库 即数据定义,数据定义应当是开发数据库应用程序的一部分,但 它超出了 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 本的范围,有关数据定义的内容,请参看关系数据库 设计方面的资料。在我们用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服务器上使用和调试。 第二种方法能够使程序设计人员直接感受到服务器的特性,但它在调试阶段要消耗网络和服务器的 资源,这种方法具有一定的危险性,程序中的错误可能会导致服 务器的瘫痪。 3、系统运行和维护 一个应用系统性能的优劣,效率的高低始终应当由用户来做出判 决,应用程序在运行过程中,用户会提出一些新的需求和建议, 根据用户需求的变化,应当对应用程序做一定的修改,使其进一 步地得到完善和提高。 13.4.3 交付数据库应用程序 交付数据库应用程序意味着将它交付给最终用户,并且 提供应用程序运行所需的软件,非数据库应用程序往往只需要一 个EXE文件,而数据库应用程序要包括下列几类文件: ? 数据库应用程序生成的EXE文件和DLL文件(如果有的话) ? 必要的辅助文件(如Readme文件或HLP联机帮助文件) ? 支持访问数据库的BDE,有时也称为IDAPI ? 用于打印输出报表的ReportSmith报表工具 ? 如果应用中使用了VBX控件,还要包括VBX和BIVBXII.DLL 13.3.4 安装BDE 在交付数据库应用程序时,必须同时在运行应用程序的 机器上安装BDE,Delphi 本身包含可再安装的BDE,在准备数据库应用程序安装盘时,同时从Delphi中复制一份BDE 到最终用户的机器中,BDE中包含访问多种数据库系统的驱动程序,为了 节省磁盘空间, 在安装BDE时,可以只安装应用程序必须的驱 动程序,例如, 如果我们的应用程序只需要访问dBASE数据库 文件,那么在安装BDE时,只需安装dBASE的驱动程序就行了。要访问Paradox数据库,BDE至少需要500KB的磁盘空间。BDE 主要包括下列文件,请参看DEPLOY.TXT文件。 表13.5 BDE中主要包括的文件 ??????????????????????????? ??????? 文 件 名 说 明 ??????????????????????????? ??????? IDAPI01.DLL BDE应用程序接口动态连接库 IDBAT01.DLL BDE Batch应用动态连接库 IDQRY01.DLL BDE查询动态连接库 IDASCI01.DLL BDE ASCII码驱动程序 IDPDX01.DLL BDE Paradox数据库驱动程序 IDDBAS01.DLL BDE dBASE数据库驱动程序 IDR10009.DLL BDE 资源库 ILD01.DLL 语言驱动程序 IDODBC01.DLL BDE的ODBC驱动程序 ODBC.NEW Microsoft ODBC驱动程序管理器(Version2.0) ODBCINST.NEW Microsoft ODBC驱动程序安装程序 (Version2.0) TUTILITY.DLL BDE应用工具库 BDECFG.EXE BDE配置工具 BDECFG.HLP BDE配置工具帮助文件 IDAPI.CFG BDE(IDAPI)配置文件 ??????????????????????????? ??????? 安装BDE可以采用与安装Delphi相同的方法,在Windows环境中运行Delphi的安装程序setup.EXE,此时,Delphi显示Delphi Installation对话框 为我们只须安装BDE,所以只要选择Borland Database Engine检查框,如果应用程序要处理SQL数据库服务器上的数据,还必须要选择SQL Links 检查框, 以便安装 SQL Links。单击Continue按纽,完成BDE的安装。 如果没有Delphi安装盘,我们也可以手工安装BDE , 从现有机器上的 BDE 目录(或IDAPI目录)中拷贝所有的文件 到用户机器上的BDE目录中,并在用户的Win.INI 文件的结尾处增加下列语句: [IDAPI] DLLPATH=C:/DELPHI/IDAPI CONFIGFILE01=C:\DELPHI\IDAPI.CFG 然后在Windows的Program Manager中为IDAPICFG.EXE起动图标。 语言驱动程序的安装 BDE可以为应用程序提供不同的语言支持,语言驱动 程序可以在配置Paradox,dBASE数据库时装入,对于服务器上的 数据库可以在IDAPI.CFG 文件中说明相应的语言驱动程序,语 言驱动程序在C:\DELPHI\IDAPI\LANGDRV子目录下(驱动器名与Delphi安装的磁盘有关),是带有扩展名为.LD的文件。如果正确安装了语言驱动程序,在Windows的WIN.INI 文件中包含下列内容(缺省情况下): [Borland Language Drivers] LDpath=C:/dELPHI\IDAPI\LANGDRV 13.4.5 安装SQL Link 安装SQL链接与安装BDE执行相同的步骤,在图13.7中只选择SQL Link检查框,然后执行安装,选择应用程序要访问的SQL数据库服务器,当选择安装SQL Link时, 安装程序会自动地安 装BDE。根据用户选择的SQL数据库服务器,安装程序会自动地 提示相关的特定信息,例如Informix数据库系统的链路(SQL Link)需要一个放置消息文件的地方。用户选择的每个SQL Link都使用一个或多个附加的动态链接库(DLL文件),这些文件将要拷贝到BDE目录中,下面是建立SQL Link时常见的SQL数据库系统所需的DLL文件。 1.ORACLE数据库 在建立ORACLE的SQL Link时除了需要下列文件外,应用程序还 需要ORACLE数据库管理系统的客户端的连接产品与网络 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 接 口。 表13.6 建立ORACLE数据库的SQL Link所需的文件 ??????????????????????????? 文件名 描 述 ??????????????????????????? SQLD_ORA.DLL Borland SQL Link for ORACLE驱动程序 SQLD_ORA.HLP 联机帮助文件 SQL_ORA.CNF ORACLE驱动的BDE配置文件 ORA6Win.DLL ORACLE 6.x版客户端的DLL文件 ORA7Win.DLL ORACLE 7.x版客户端的DLL文件 SQL13Win.DLL ORACLE 客户端的DLL文件 SQLWin.DLL ORACLE 客户端的DLL文件 COREWin.DLL ORACLE 客户端的DLL文件 ORAWE850.Ld ORACLE 的语言驱动程序 ??????????????????????????? 2. Sybase和MicroSoft SQL Server数据库 在建立Sybase或MicroSorft SQL Server的SQL Link时除了需要下列文件外, 应用程序还需要Sybase数据库管理系统的客户 端的连接产品与网络协议接口。 表13.7 建立Sybase数据库的SQL Link所需的文件 ??????????????????????????? 文件名 描 述 ??????????????????????????? SQLD_SS.DLL BDE SQL Link for Sybase的驱动程序 SQLD_SS.HLP 联机帮助文件 SQL_SS.CNF Sybase驱动程序的BDE配置文件 W3DBLIB.DLL Sybase/MC SQL Server客户端的DLL文件 DBNMP3.DLL Sybase/MC SQL Server客户端的DLL文件 SYDC437.LD Sybase语言驱动程序 SYDC850.LD Sybase语言驱动程序 ??????????????????????????? 3. Informix数据库 在建立Informix的SQL Link时除了需要下列文件外,应用程序 还需要Informix数据库管理系统的客户端的连接产品与网络协 议接口。 表13.8 建立Informix 数据库的SQL Link所需的文件 ??????????????????????????? 文件名 描 述 ??????????????????????????? SQLD_ss.DLL BDE SQL Link for Informix的驱动程序 SQLD_INF.HLP 联机帮助文件 SQL_INF.CNF Informix驱动程序的BDE配置文件 LDLLSQLW.DLL Informix客户端的DLL文件 ISAM.IEM Informix错误信息文件 OS.IEM Informix错误信息文件 RDS.IEM Informix错误信息文件 SECURITY.IEM Informix错误信息文件 SQL.IEM Informix错误信息文件 ??????????????????????????? 4.InterBase 数据库 在建立InterBase的SQL Link时除了需要下列文件外,应用程 序还需要InterBase数据库管理系统的客户端的连接产品与网 络协议接口。 表13.9 建立InterBase数据库的SQL Link所需的文件 ??????????????????????????? 文件名 描 述 ??????????????????????????? SQLD_IB.DLL BDE SQL Link for InterBase的驱动程序 SQLD_IB.HLP 联机帮助文件 SQL_IB.CNF InterBase驱动程序的BDE配置文件 CONNECT.EXE InterBase连接测试诊断工具 CONNECT.HLP InterBase连接测试诊断工具的帮助文件 GDS.DLL InterBase API DLL REMOTE.DLL InterBase与网络的接口的DLL文件 INTERBASE.MSG InterBase错误信息文件 ???????????????????????????
本文档为【Delphi入门---第十三章 Delphi开发数据库应用程序概述】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_713593
暂无简介~
格式:doc
大小:64KB
软件:Word
页数:29
分类:互联网
上传时间:2018-07-12
浏览量:15