第11章数据库应用基础 本章要点: 区数据库应用程序设计基础 区数据库桌面( Database Desktop)工具的使用 区BDE组件中的Tabe组件的使用 MData Source组件 区数据控制组件
本章要点: 数据库应用程序设计基础 数据库桌面(Database Desktop)工具的使用 BDE组件中的Table组件的使用 DataSource组件 数据控制组件 第11章 数据库应用基础
11.1数据库应用程序设计基础 数据库应用在人们的工作中起到了越来越重要的作用,如企业信息 管理系统、人事管理系统和学校的学籍管理系统等这些都是数据库应用 程序。现在很多软件开发人员都在运用各种工具开发数据库应用程序, 其中 Delphi7.0语言是广大程序员喜爱的开发数据库应用程序的编程工具 之 11.1.1数据库系统概述 数据库系统主要由三大部分组成:数据库管理系统(DBMS)、 数据库应用程序、数据库(是按一定结构组织在一起的相关数据的集 合)。DBMS是专门负责组织和管理数据信息的程序,是数据库系统 的核心组成部分。用户通过数据库应用程序能够获取、显示和更新由 DBMS存储的数据,通过应用程序提供的管理界面方便地管理数据库 中的数据。 数据库( DataBase)是由一个或多个数据表所组成的,而每一个 数据表( Table)是有若干列( Columns)记录( Record)组成的。而 记录是信息处理的基本单位,且每条记录在结构上是相同的。 Inprise Dephi
11.1 数据库应用程序设计基础 数据库应用在人们的工作中起到了越来越重要的作用,如企业信息 管理系统、人事管理系统和学校的学籍管理系统等这些都是数据库应用 程序。现在很多软件开发人员都在运用各种工具开发数据库应用程序, 其中Delphi 7.0语言是广大程序员喜爱的开发数据库应用程序的编程工具 之一。 11.1.1 数据库系统概述 数据库系统主要由三大部分组成:数据库管理系统(DBMS)、 数据库应用程序、数据库(是按一定结构组织在一起的相关数据的集 合)。DBMS是专门负责组织和管理数据信息的程序,是数据库系统 的核心组成部分。用户通过数据库应用程序能够获取、显示和更新由 DBMS存储的数据,通过应用程序提供的管理界面方便地管理数据库 中的数据。 数据库(DataBase)是由一个或多个数据表所组成的,而每一个 数据表(Table)是有若干列(Columns)记录(Record)组成的。而 记录是信息处理的基本单位,且每条记录在结构上是相同的
111.2Deph7.0数据库特性和支持的 数据库种类(1) Delphi7.0是目前开发数据库应用程序的最强有力的工具之一。 Delphi 7.0结合了传统的编程语言○ bject Pascal和数据库语言的强大功能,它既可 以用于传统的算术编程又可以用于数据库编程,特别是 Delphi7.0具有了强 大的开发数据库的功能,利用 Delphi7.0数据库开发工具,程序员几乎不用 编写任何代码就可以创建一个简单的数据库应用系统 Delphi7.0应用程序能存取各类数据——文件服务器或本地的桌面数 据表及远程数据库。 Delph7.0程序通过BDE( Borland Database Engine) 或者ADO( Active Data Object)来访问各种数据源。其中BDE是 Borland 公司开发的数据库引擎,它的基本思想是把应用程序开发接口部分与连接 数据库的部分分开。这样用户就可以按照自己的意愿把应用程序前端部分 代码得编写通用,而数据源改变也不用重新编码,只要重新设置BDE就以 了。ADO数据访问接口是 Microsoft公司处理数据库信息的最新技术。它是 种 Active对象,采用被成为 OLE DB的数据访问模式,是数据访问对象 DA○、远程数据对象RDO和开放数据库互联ODBC三种方式的扩展。 ADO已成为访问数据库的新标准。 Inprise Dephi
11.1.2 Delphi7.0数据库特性和支持的 数据库种类(1) Delphi 7.0是目前开发数据库应用程序的最强有力的工具之一。 Delphi 7.0结合了传统的编程语言Object Pascal和数据库语言的强大功能, 它既可 以用于传统的算术编程又可以用于数据库编程,特别是Delphi 7.0具有了强 大的开发数据库的功能,利用Delphi 7.0数据库开发工具,程序员几乎不用 编写任何代码就可以创建一个简单的数据库应用系统。 Delphi 7.0应用程序能存取各类数据——文件服务器或本地的桌面数 据表及远程数据库。Delphi 7.0程序通过BDE(Borland Database Engine) 或者ADO(Active Data Object)来访问各种数据源。其中BDE是Borland 公司开发的数据库引擎,它的基本思想是把应用程序开发接口部分与连接 数据库的部分分开。这样用户就可以按照自己的意愿把应用程序前端部分 代码得编写通用,而数据源改变也不用重新编码,只要重新设置BDE就以 了。ADO数据访问接口是Microsoft公司处理数据库信息的最新技术。它是 一种ActiveX对象,采用被成为OLE DB的数据访问模式,是数据访问对象 DAO、远程数据对象RDO和开放数据库互联ODBC三种方式的扩展。 ADO已成为访问数据库的新标准
111.2Deph7.0数据库特性和支持的 数据库种类(2) 数据库分为本地数据库和远程数据库两种。例如 Paradox、 d Base、 FoⅫPro和 Access等,这些数据库被称为本地数据库,一般用于编写单层的数 据库应用程序,即本地数据库应用程序。另一种是远程数据库服务器,如 nter Base、 Oracle、 Sybase、 Informix、 Microsoft Sql server和DB2等,一般 用于编写多层次的数据库应用程序,即C/S(客户/服务器 Client/server)数据 库应用程序和多层数据库应用程序 Delphi7.0数据库应用程序通过BDE或者ADO获取它们所需的数据。 Delphi7.0所支持的数据库种类一般包括以下几种。 dBase数据库(DBF) 2.2. Paradox数据库 3.3.ASC文件(.TXT 4.本地 Inter Base服务器(GDB) 5. Access数据库(MDB) 6.各种数据库服务器 7.可以通过ODBC与其他数据库建立链接 prise Dephi
11.1.2 Delphi7.0数据库特性和支持的 数据库种类(2) Delphi 7.0数据库应用程序通过BDE或者ADO获取它们所需的数据。 Delphi 7.0所支持的数据库种类一般包括以下几种。 1. dBase数据库(.DBF) 2. 2. Paradox数据库 3. 3. ASCII文件(.TXT) 4. 本地InterBase服务器(.GDB) 5. Access数据库(.MDB) 6. 各种数据库服务器 7. 可以通过ODBC与其他数据库建立链接 数据库分为本地数据库和远程数据库两种。例如Paradox、dBase、 FoxPro和Access等,这些数据库被称为本地数据库,一般用于编写单层的数 据库应用程序,即本地数据库应用程序。另一种是远程数据库服务器,如 InterBase、Oracle、Sybase、Informix、Microsoft Sql Server和DB2等,一般 用于编写多层次的数据库应用程序,即C/S(客户/服务器Client/Server)数据 库应用程序和多层数据库应用程序
112创建第一个 Delphi7.0数据库应 用程序 个完整的数据库应用程序必须包括数据库和应用程序两部分。数据 库用来存放用户的数据,而应用程序则是用来维护数据库中的数据,包括增 加、删除、修改、査询等操作。本节将以学生档案管理程序为例,说明如何 来创建一个完整的数据库应用程序,包括数据库的建立和应用程序的设计 112.1 Delphi7.0数据库应用程序建 立步骤 建立一个数据库应用程序的最终目标是为了给用户提供一个满足长期 使用需求的软件产品,因此要开发一个成功的数据库应用程序,关键之一是 要进行需求分析,围绕用户的需求来开发程序。数据库应用程序的开发一般 包括以下三个步骤 Inprise Dephi
11.2 创建第一个Delphi 7.0数据库应 用程序 建立一个数据库应用程序的最终目标是为了给用户提供一个满足长期 使用需求的软件产品,因此要开发一个成功的数据库应用程序,关键之一是 要进行需求分析,围绕用户的需求来开发程序。数据库应用程序的开发一般 包括以下三个步骤。 一个完整的数据库应用程序必须包括数据库和应用程序两部分。数据 库用来存放用户的数据,而应用程序则是用来维护数据库中的数据,包括增 加、删除、修改、查询等操作。本节将以学生档案管理程序为例,说明如何 来创建一个完整的数据库应用程序,包括数据库的建立和应用程序的设计。 11.2.1 Delphi 7.0数据库应用程序建 立步骤
1121 Delphi7.0数据库应用程序建立步 骤 1.系统分析和设计 这一步实际上是最重要的一步,要深入了解用户需求,也就是说要 掌握用户使用该软件的具体要求有哪些,这就是所谓的需求分析。这 步不仅包括数据库结构的设计也包括应用程序界面的设计 2应用程序的实现 应用程序的实现主要是通过Deph70提供的工具和组件及 object Pascal语言实现在系统分析与设计阶段的设想功能,并边编码边调试 在后面本书将会重点讲到如何用 Delphi7.0提供的各种数据库组件来编 写相应程序代码 3.程序的运行和维护 使用 Delphi7.0开发工具完成程序编码后,就要对该数据库应用程 序进行严格的测试,以让程序尽可能的稳定。并且在用户使用时,用户 还会再提出一些新的需求和建议,这时还要对应用程序做一定的修改, 使其满足用户的需求。 Inprise Dephi
11.2.1 Delphi 7.0数据库应用程序建立步 骤 1. 系统分析和设计 这一步实际上是最重要的一步,要深入了解用户需求,也就是说要 掌握用户使用该软件的具体要求有哪些,这就是所谓的需求分析。这一 步不仅包括数据库结构的设计也包括应用程序界面的设计。 2. 应用程序的实现 应用程序的实现主要是通过Delphi 7.0提供的工具和组件及Object Pascal语言实现在系统分析与设计阶段的设想功能,并边编码边调试。 在后面本书将会重点讲到如何用Delphi 7.0提供的各种数据库组件来编 写相应程序代码。 3. 程序的运行和维护 使用Delphi 7.0开发工具完成程序编码后,就要对该数据库应用程 序进行严格的测试,以让程序尽可能的稳定。并且在用户使用时,用户 还会再提出一些新的需求和建议,这时还要对应用程序做一定的修改, 使其满足用户的需求
1122 Delphi7.0数据库桌面(1 数据库桌面( Database Desktop)是 Delphi7.0中提供的最简单的数据库 管理工具,通过它可以实现数据库的建立、维护和査询等操作。 可以通过Deph70主菜单工具Toos菜单中的 Database Desktop选项来打开 Database Desktop管理工具,或者通过操作系统的开始菜单中 Delph7.0启动 图标组打开它。 Database Desktop数据操作窗体如图11-2所示 1.创建数据表 在 Database Desktop窗口中选择 File/New/Table 菜单项,并在弹出的对话框中选择相应数据库类型, 例如,要建立 Paradox数据库,则选择 Paradox7, 如图11-3所示 图11-2 Database 单击○K按钮后出现创建数据表的对话框,如图 Desktop窗口 11-4所示窗体。可以在对话框中设置数据表的结构,國 包括各字段的名称( Field name)、字段类型 Iable type (Type)、字段宽度(占用字节Sze)及是否设置_工地 关键字(Key)等。 图11-3创建数据表 假设要创建一张如图11-1中所示一样的学生档案 Inprise Dephi
11.2.2 Delphi 7.0数据库桌面(1) 数据库桌面(Database Desktop)是Delphi 7.0中提供的最简单的数据库 管理工具,通过它可以实现数据库的建立、维护和查询等操作。 可以通过Delphi 7.0主菜单工具Tools菜单中的Database Desktop选项来打开 Database Desktop管理工具,或者通过操作系统的开始菜单中Delphi 7.0启动 图标组打开它。Database Desktop数据操作窗体如图11-2所示。 1. 创建数据表 在Database Desktop窗口中选择File/New/Table 菜单项,并在弹出的对话框中选择相应数据库类型, 例如,要建立Paradox数据库,则选择Paradox7, 如图11-3所示。 图11-2 Database Desktop窗口 图11-3 创建数据表 单击OK按钮后出现创建数据表的对话框,如图 11-4所示窗体。可以在对话框中设置数据表的结构, 包括各字段的名称(Field Name)、字段类型 (Type)、字段宽度(占用字节Size)及是否设置 关键字(Key)等。 假设要创建一张如图11-1中所示一样的学生档案
1122 Delphi7.0数据库桌面(2) 数据表,且表名为 student,字段属性如表11-1所示。详见 本教程P192页 按照表中字段属性要求,在图11-4显示的创建数据表 的对话框中分别输入各字段的名称( Field name)、字 段类型(Type)、字段宽度(Size)以及是否设置关键 图11-4创建数据表 字(Key)等字段属性。这里输入字段名直接在 Field 对话框 Name列中输入。输入字段类型(Type)时,要鼠标右击,■s Number 这时会弹出菜单进行选择相关类型。如图11-5所示 Long Intege (1) Alpha:字符串型 (BCD) (2) Number:数字型 鱼 Timestamp) (3)Date:日期型 Memo Formatted Memo (4) Logical:逻辑型 OLE (5)Memo:备注型 Logical ±( Autoincrement) (6) Graphic:图片型 Binary Bytes 图11-5字段类型快捷菜单 Inprise Dephi
11.2.2 Delphi 7.0数据库桌面(2) 数据表,且表名为student,字段属性如表11-1所示。详见 本教程P192页 按照表中字段属性要求,在图11-4显示的创建数据表 的对话框中分别输入各字段的名称(Field Name)、字 段类型(Type)、字段宽度(Size)以及是否设置关键 字(Key)等字段属性。这里输入字段名直接在Field Name列中输入。输入字段类型(Type)时,要鼠标右击, 这时会弹出菜单进行选择相关类型。如图11-5所示。 (1)Alpha :字符串型 (2)Number:数字型 (3)Date:日期型 (4)Logical:逻辑型 (5)Memo:备注型 (6)Graphic:图片型 图11-4 创建数据表 对话框 图11-5 字段类型快捷菜单
1122 Delphi7.0数据库桌面(3) 另外还要给数据表建立索引,即定义关键字。索引分为 主索引和次索引两种。主索引关键字字段中的数据必须惟一, 而且每张数据表中只能建立一个主索引。而次索引则没有这 个限制,在次索引字段中数据允许重复,且可以建立多个次 索引。 图11-4创建数据表 (1)建立主索引的方法 对话框 在图114创建数据表对话框中,将光标移到要建立主索引τ 字段的Ky外下面,双击鼠标左键或者按空格镜即可,这 小 设定“学号”为主关键字,即主索引,因此只要在该字段a 的Key列下面双击,即会出现一个“*”,定义关键字操作x 完成。 (2)建立次索引(辅助索引)的方法 Formatted Memo Graphic 在图11-4创建数据表对话框中,通过右上方的 Table ±( Autoincrement) Properties(表属性)下拉菜单中选择 Secondary Indexes Bytes (次索引)选项,再单击 Define定义按钮进入次索引定义图115字段类型 窗口。在次索引定义窗口中,可从左边的 Fields(字段) 快捷菜单 列表选健立次索的宝段户的DeP
11.2.2 Delphi 7.0数据库桌面(3) (1)建立主索引的方法 在图11-4 创建数据表对话框中,将光标移到要建立主索引 字段的Key列下面,双击鼠标左键或者按空格键即可,这 时在该列中会出现“*”,则表示设定关键字成功。这里 设定“学号”为主关键字,即主索引,因此只要在该字段 的Key列下面双击,即会出现一个“*”,定义关键字操作 完成。 (2)建立次索引(辅助索引)的方法 在图11-4 创建数据表对话框中,通过右上方的Table Properties(表属性)下拉菜单中选择Secondary Indexes (次索引)选项,再单击Define定义按钮进入次索引定义 窗口。在次索引定义窗口中,可从左边的Fields(字段) 列表框中选择要建立次索引的字段,双击或者单击并左右 图11-4 创建数据表 对话框 图11-5 字段类型 快捷菜单 另外还要给数据表建立索引,即定义关键字。索引分为 主索引和次索引两种。主索引关键字字段中的数据必须惟一, 而且每张数据表中只能建立一个主索引。而次索引则没有这 个限制,在次索引字段中数据允许重复,且可以建立多个次 索引
1122 Delphi70数据库桌面(4) 方向移动按钮,将字段添加到右边的 INdexed Fields列表框中,可以选择多个, 然后单击○K按钮。这时在弹出的 Save Index as对话框中输入索引文件名, 然后单击OK按钮完成次索引的建立。 具体字段设置完成以后效果如图11-6所示。单击 Save As..按钮将设置完 成的表保存到D山 Demos stu data目录下,数据表名称为 Student db。 2.修改数据表结构 Field Name Type Size Key 如果要修改某张表的结构,选择File/Open/Tabe 4出生日期 菜单项打开数据表 Student. db,然后选择 7入学成绩 Tabe/ Restructure选项,就可以修改该表结构。 3.数据记录的输入、修改和删除 图11-6字段设置 打开数据表,选择Tabe/dit菜单项,进入数据國 记录编御状态就可以添加、修改和删除记录。要插 入记录则可以选择 Record/nser选项,或者按下 Insert键即可在当前记录前插入一条记录;按下 21”1热 Ctrl+Delete键,可以删除当前记录 在编辑窗体中输入相关记录,显示窗口如图11-1=88融 7所示。 图11-7薮据记录编辑窗口 Inprise Deph
11.2.2 Delphi 7.0数据库桌面(4) 方向移动按钮,将字段添加到右边的Indexed Fields列表框中,可以选择多个, 然后单击OK按钮。这时在弹出的Save Index As对话框中输入索引文件名, 然后单击OK按钮完成次索引的建立。 具体字段设置完成以后效果如图11-6所示。单击Save As…按钮将设置完 成的表保存到D:\Demos\stu_data目录下,数据表名称为Student.db。 图11-6 字段设置 2. 修改数据表结构 如果要修改某张表的结构,选择File/Open/Talbe 菜单项打开数据表Student.db,然后选择 Table/Restructure选项,就可以修改该表结构。 3. 数据记录的输入、修改和删除 打开数据表,选择Table/Edit菜单项,进入数据 记录编辑状态就可以添加、修改和删除记录。要插 入记录则可以选择Record/Insert选项,或者按下 Insert键即可在当前记录前插入一条记录;按下 Ctrl+Delete键,可以删除当前记录。 在编辑窗体中输入相关记录,显示窗口如图11- 7所示。 图11-7 数据记录编辑窗口