资源描述
目录
摘要 2
1 概述 3
1.1 选题的目的、意义 3
1.2 国内外研究现状及存在的问题 3
1.3 需求分析 3
2 开发工具简介 5
2.1选用Delphi7.0+ACCESS2000作为开发工具原因。 5
2.2 Delphi7.0 5
2.2.1 Delphi7.0 的特点 6
2.2.2数据库组件介绍 6
2.2.3SQL语言简介 7
2.2.4 SQL语句 8
2.3 数据库的选择 10
2.3.1 Microsoft Office Access 10
3 概要设计 12
3.1系统流程 12
3.2数据库设计 12
3.2.1数据库设计过程 12
3.2.2 数据库构成 14
4 详细设计 16
4.1系统的主要功能 16
4.2 系统的基本模块 16
4.2.1系统操作模块 16
4.2.2客户管理模块 17
4.2.3药品管理模块 19
4.2.4财务管理模块 21
4.2.5系统管理模块 22
4.2.6主界面 24
5 总结 25
6 致谢 26
7 参考文献 27
摘要
本次毕业设计任务是通过开发一个宠物医院管理系统,学习用Delphi开发分布式多层数据库系统。采用Delphi7.0和Microsoft Office Access等软件为开发工具;通过对计算机硬件和软件解决方案的论证;对应用领域进行调查分析;参考各种资料和进行数据库编程实践。在我指导老师的帮助下,已经基本上成功地实现了设计任务书的要求。使得设计的数据库系统能够实现一般数据库的管理。我们研究了数据库的查询优化问题。
本系统是针对宠物医院管理进行设计的,
关键词:宠物医院、管理、Delphi7、Microsoft Office Access
1 概述
1.1 选题的目的、意义
开发一个宠物医院管理系统,可以实现动态的连接应用程序服务器,只要对配置文件进行配置,就可以像网上邻居一样选择所要连接的应用程序服务器。并能实现登录、客户管理、药品和宠物用品的添加和修改 、数据的备份和还原等功能。
1.2 国内外研究现状及存在的问题
随着社会发展,人类的生产、生活越来越离不开信息。谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。信息产业正在成为一个国家的支柱。数据作为信息的载体,其管理工具数据库对于信息技术的重要性,正日益得到人们的重视。只有拥有了先进的数据库技术,才能有效地管理好浩如烟海的数据,并从中提取出对自己有用的信息来加以利用。
90年代,人们开发MIS系统大都采用客户机/服务器结构,客户机/服务器结构既是硬件结构又是软件结构。即数据放在服务器上,程序在客户机上。进行数据访问时,由客户机提出请求,服务器执行并给出结果。客户机/服务器对于优化了网络,提高了系统的利用率。客户机/服务器体系结构的发展经历了从二级体系结构模式到三级体系结构模式。
1.3 需求分析
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,宠物医院管理系统软件为宠物医院带来了极大的方便。
运用现代信息化技术再造的组织结构,建立一个适应知识经济创新需要的网络化水平管理方式,显得尤为重要。电脑信息库录入是指将手工已编制好的记账信息库管理系统或根据原始信息库直接在系统内制作信息库信息,同时,可对输入的信息库信息进行修改、查找、等操作。这种集约化的管理模式,便于信息库信息的收集、整理和加工,又便于操作员的需求信息在最短的时间内得到反馈。
我国加入WTO后,面对高度信息化、全球化和管理现代化的国际竞争,中国如何应用信息技术促进管理创新,以管理创新促进实施信息现代化的战略,深化改革和实现管理水平跨越式发展,提高服务水平和服务质量,增强的竞争力,已成为一个不容回避、亟待研究解决的重大课题。
本系统所实现的宠物医院管理是以 Delphi7.0和Microsoft Office Access为编程环境来实现其制作和开发过程的,通过对宠物医院管理系统,进行可行性分析、需求分析和设计逐步将一个宠物医院管理系统的开发过程呈现出来。没有刻意追求专业性和商品化软件的华丽包装,而是本着简单实用的原则,即在功能上满足用户的需求,又力求操作简便,是本系统容易掌握和使用。
2 开发工具简介
2.1选用Delphi7.0+ACCESS2000作为开发工具原因。
随着社会需求的推动和计算机技术的发展普及,各行业的管理机构需要有计算机来处理大量的信息。选择一优秀的数据库管理系统作为开发平台,将给日后的信息处理带来便利性。其中,基于微型计算机的数据库系统是应用最广泛、实用性最强的一种计算机技术。而事实证明:ACCESS数据库是一个广泛使用、简单易用、性能价格比较高、工具完整而又丰富、界面友好、处理速度高的关系型数据库。ACCESS20000主要用于Windows环境,利用它可设计出体现Windows风格的丰富多彩的图形化用户界面,使用户的操作和使用十分便利。ACCESS2000 是为数据库应用程序开发而设计的功能强大、面向对象的编程工具。它能够管理大量复杂的数据信息,同时有具有很好的安全性和较强的网络功能,甚至还能够实现数据的远程访问和存储加工
从本人的实际情况看:因为在校期间也有学习过可视化的编程,对这一类的软件的使用也有叫深的认识,所以说选用ACCESS2000作为开发工具是很有优势的。
而对于前台编程工具,目前比较流行的是RAD(Rapid Application Development快速开发工具)VC++,VB,Delphi,PowerBuilder, C++builder等。其中以VC++和Delphi较为杰出,而VC++主要是侧重于偏硬方面, Delphi主要侧重于偏软方面。对底层编程比较需要的地方就大部分VC++,而Delphi的IDE是非常易用的。业界有一句很经典的话:真正的程序员用VC++,而聪明的程序员用Delphi。可见,VC++与Delphi是两种较行优秀的语言开发工具。
Delphi 7.0应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具,Delphi 7.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
2.2 Delphi7.0
Delphi是一门真正的面向对象的编程语言,它支持封装、继承和多态性等面向对象的概念。面向对向程序设计是现今最为流行的程序设计方法,也是开发 Delphi程序的根本思想。简单来说,是将一个对象的数据以及一个对象的操作结合起来,对一个对象中的数据的访问,通过该随行提供的操作接口来实现。继 承,是指子类拥有父类的方法和属性。面向对象的程序设计目的是创建可重用的代码,通过把属性和方法封装进"对象"中,以便更好地模拟现实世界。面向对象的 程序设计涉及到对象、类、封装、多态等基本概念,以下作简要说明简单来说,是将一个对象的数据以及一个对象的操作结合起来,对一个对象中的数据的访问,通 过该随行提供的操作接口来实现。继承,是指子类拥有父类的方法和属性。
2.2.1 Delphi7.0 的特点
Delphi7.0是以组件化的编程方式、面向对象的程序设计、快速的Pascal编译器、众多的组件和强大的数据库及网络应用开发支持,是开发客户机-服务器程序的高效工具,是面向对象编程的典范。
1. 可视化开发环境。
Delphi提供了一套可视化工具,通过它们可以及时观察界面设计中的变化,这种设计过程基本是“所见即所得” 可视化开发环境的特点是“控件组装”。
2. Delphi提供了丰富的可视组件库。
3. 面向对象的特性。
4. 高效的编译器。
Delphi的编译器是目前世界上最快的32位本地代码(源代码)编译器。使用这种编译器产生的运行文件EXE是独立的,不需要链接运行时的解释器DLL。
5. 强大的数据库开发功能。
开发数据库应用程序是的主要功能之一。
应用程序可通过在Delphi中使用Borland公司提供的数据引擎(BDE)功能,使用多种数据库, 例如Oracle、Sybase、Informix、Interbase、Microsoft SQL Server、Paradox、Xbase系列数据库。
6. 支持分布式应用开发
适应于多种数据库结构,包括客户机/服务机模式和多层数据结构模式。
2.2.2数据库组件介绍
用Delphi7开发数据库应用,重点是和各种数据库组件打交道,能和数据库挂钩的组件对象有5种,它们是:Session(数据库会话)、 Database(数据库)、Dataset(数据集)、DataSource(数据源)、Data control(数据控制组件,也叫data-controls即数据感知组件)。其中前面4种统称为数据访问(Data Access)组件。
ADO组件 Delphi7.0包含了可以用来访问Microsoft公司的ActiveX Data Objects(ADO)格式数据库的组件。ADO是Micrsoft公司关于各种类型数据的高等界面,后来逐渐演变成满足所有数据访问需要的完整解决办法。ADO的对象模型是所有数据访问接口对象模型中最简单的一种。Microsoft公司用来访问ADO数据的应用程序界面技术是OLE DB。OLE DB是一种底层编程接口,用来访问许多不同类型的数据源,其中包括消息、文件系统以及其他一些非传统的数据源。OLE DB是一个由Component Object Model(COM)接口组成的集合,用来隐藏创建数据访问服务过程中的细节。OLEDB提供了访问任何数据资源的方法,包括相互关联的数据库和相互不关联的数据库、Email和文件系统、文本和图形以及用户定义的数据对象。
Delphi的ADO组件无需依靠BDE而是使用ADO技术,提供了可以通过数据控制组件访问数据的新方法。唯一的要求是在使用ADO组件时必须运行ADO/OLE-DB。ADO组件的使用使得DELPHI在访问数据的类型和采用的技术方面都有了很大的突破。
数据模块设计窗口 数据模块设计窗口是用来设计和维护数据模块的。数据模块设计窗口中包含了所有以.DTI作为文件扩展名的Data Diagram文件的信息。DTI文件在编译时不起任何作用。
2.2.3SQL语言简介
SQL(Structured Query Language),意思为结构化查询语言,是一种介于关系代数与关系演算之间的结构化查询语言。它的主要功能就是同各种数据库建立联系,进行沟通。ANSI(美国国家标准协会)规定SQL是关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据、从数据库中提取数据等。
SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:
1.综合统一
非关系模型的数据语言一般都分为模式数据定义语言(模式DDL)、外模式数据定义语言(外模式DDL)、与数据存储有关的描述语言(DSDL)及数据操纵语言(DML),分别用于定义模式、外模式、内模式和进行数据的存取与处置。当拥护数据库投入运行后,如果需要修改模式,必须停止现有的数据库的运行,转储数据,修改模式并编译后再重装数据库,十分麻烦。
SQL语言则集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入运行后,还可根据需要随时地逐步地修改模式,切并不影响数据库的运行,从而使系统具有良好的可扩展性。
2. 高度非过程化
非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做” ,因此无须了解存取路径,存取路径的选择以及SQL语言句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。
3. 面向集合的操作方式
非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
4. 以同一种语法结构提供两种使用方式
SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,他能够独立地用于联机交互的使用方式,用户何以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。
5. 语言简捷,易学易用
SQL语言功能极强,但由于设计巧妙,语言十分简捷,完成核心功能只用了9个动词,SQL语言接近英语口语,因此容易学习,容易使用。
6.SQL为许多任务提供了命令,其中包括:
1 查询数据
2 在表中插入、修改和删除记录
3 建立、修改和删除数据对象
4 控制对数据和数据对象的存取
5 保证数据库一致性和完整性
2.2.4 SQL语句
SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:
DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据;
DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象;
DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。
DML组可以细分为以下的几个语句:
SELECT:用于检索数据;
INSERT:用于增加数据到数据库;
UPDATE:用于从数据库中修改现存的数据;
DELETE:用于从数据库中删除数据。
DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:
CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX
Select查询语法:
Select [distinct][别名.]字段名或表达式[as 列标题]
//指定要选择的列或行及其限定
From table_source //from 子句,指定表或试图
[where search_condition] //where子句,指定查询条件
[group by group_by_expression] //group by 子句,指定分组表达式
[order by order_expression[asc|desc]] //order 子句,指定排序表达式和顺序
其中,select和from子句是不可缺少的。
Select 子句指出查询结果中显示的字段名,以及字段名和字段名和函数组成的表达式等。可用distinct 去除重复的记录行;as列标题指定查询结果显示的列标题。若要显示表中所有字段时,可用通配符“*”代替字段名列表。
Where 子句定义了查询条件。Where 子句必须紧跟From 子句之后,其基本格式为:
Where <search_condition>
其中search_condition为查询条件,常用格式为:
{[not]<precdicate>|(<search_condition>)}
[{and|or} [not]{<predicate>|(<search_condition>)}]
}[,…n]
其中predicate为判定运算,结果为true,false或unknown.
1. DDL与DML
数据定义语言DDL:它是用来创建和修改数据库结构的一种语句,包括 Create、Alter和Drop 语句。
数据操作语言DML:包括数据查询与数据更新。数据查询主要是由Select语句完成,这一点不再赘述。而数据更新所造成的风险大大超过数据查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性,DBMS还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。
用于修改数据库内容的 SQL 语句主要有以下三个:
(1) Insert,向一个表中加入新的数据行
(2) Delete,从一个表中删除数据行
(3) Update,更改数据库中已经存在的数据
Insert标准语法:
INSERT INTO table_name (col1, col2...) VALUES(value1, value2...)
Insert 语句还可以将多行数据添加到目标表中去,在这种形式的 Insert 语句中,新行的数据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询。添加的值来自数据库自身的行,在某些特定的状态下,这是非常有用的。多行 Insert 语句为拷贝数据提供了一种紧凑而高效的方法。
Update语句用于更新单表中选定行的一列或多列的值。要更新的目标表在语句中定义,Set子句则指定要更新哪些列并计算它们的值。 Update语句总是包含Where语句,而且Update语句比较危险,所以您必须明确地认识到Where语句的重要性,Where语句被用来指定需要更新的行。
标准语法:
UPDATE table_name
SET columnname1 = value1
[, columname2 = value2]...
WHERE search_condition
Delete 语句标准语法:
DELETE FROM tablename WHERE condition
2.3 数据库的选择
2.3.1 Microsoft Office Access
Access2000是微软公司开发的WINDOWS操作系统环境下流行的桌面数据管理系统。使用Access2000时,用户无需编写任何编码,仅通过简单直观的可视化操作就可以完成大部分的数据管理任务。
Access 2000是建立在成熟而强大的关系模型基础上的,它可以很好地支持客户/服务器模型,很好地支持局域网与互联网的应用,能够满足企事业单位构建中小型应用 系统的需求。利用Access 2000创建数据库应用系统十分简便而快速,甚至无需编程即可实现简单应用系统的创建。Access 2000已成为最容易使用且被广泛接受的数据库软件。
Access2000是一个面向对象的、采用事件驱动机制的新型关系数据库管理系统,Access2000提供了表生成器、查询生成器、报表设计器等许多便捷的可视化操作工具以及数据库向导、表向导、查询向导、窗体向导、报表向导等众多向导,可以很方便的构造一个功能完善的数据库管理系统;它还为数据库开发管理人员提供了Visual Basic For Application(VBA)程序设计语言,便于高级用户开发功能更完善的数据库管理系统。
在Access数据库中,任何事物都可以称之为对象。一般情况下,Access数据库包括表、查询、窗体、报表、数据访问页、宏和模块七个对象,这些对象用于收集、存储和操作各种不同的信息。
Access数据库中的每一个对象都不能独立保存,而只能作为Access数据库中的一部分。
在Access中, 用户可以为每一种类型的信息创建一个表,将数据分别存放在自己创建的表中,然后可以通过联机窗体方便地查看、添加及更新表中的数据;使用查询查找并检索符 合指定条件的数据;使用报表分析数据,并以特定的版面打印数据;利用数据访问页查看、编辑和汇报驻留在浏览器中的数据的HTML页;使用宏完成自己定义的一系列操作,同时又不需要编写程序。还可以通过嵌入模块来实现一些复杂功能。
3 概要设计
3.1系统流程
根据宠物医院管理的要求,宠物医院管理系统的设计应包括与宠物相关的各个方面,即应包括宠物基本信息的管理,医院的管理。其中有分别包括各自信息的添加、删除、查询功能。以实现对宠物医院的高效、全面管理。这里仅对系统的大体实现做一个整体的设计,具体的功能将在下面章节中进行介绍。
系统流程图(如下图):
用户登录
密码?
N
Y
进入系统进行操作
结束
重新登录
图 3-1系统设计流程图
3.2数据库设计
3.2.1数据库设计过程
数据库的设计过程如下图所示。在数据库设计过程中,需求分析和概念设计可以独立于任何数据库管理系统进行。逻辑设计和物理设计与具体的数据库管理系统密切相关。由于需求分析比较重要。我们在设计的时候,花了比较多的时间。在获得这些资料之后,进行分析。从中提取有用的部分。
数据库设计过程图(如下图):
现实世界
需求分析
需求分析说明书
概念数据库设计
概念数据库模式
独立于数据 (高级数据模型)
库管理系统
与数据库管
逻辑数据库设计
理系统相关
逻辑数据库模式
(特定数据模型)
物理数据库设计
物理数据库模式
(特定的物理存储结构和存取方式)
图 3-2 数据库设计过程图
3.2.2 数据库构成
数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。良好的数据库设 计,可以提高数据信息的存储效率,保证数据信息的完整性和一直性。同时,一个合理的数据库结构有利于程序的实现。这里选用Access 2000作为后台数据库。
1.用户信息表 表主要用于用户的信息和数据,只有这里记录的用户才能登陆使用本系统。
表3-1.1用户数据定义表
字段名称
数据类型
字段大小
必填字段
允许空字符串
id
文本
20
是
是
password
文本
20
是
是
主要定义id(用户名)和password(密码)的数据类型和字段大小。
表3-1.2用户名表
id
Password
admin
123
main
123456
主要纪录着用户名和密码的信息。用户登录时用户名和密码就是从用户名表中调用。
2. 登记薄信息表
表3-2.1登记薄数据表定义
字段名称
数据类型
字段大小
必填字段
允许空字符串
姓名
文本
20
是
是
电话
数字
长整型
否
否
手机
数字
长整型
否
否
病历号
数字
长整型
是
是
种类
文本
20
是
是
宠物名
文本
20
是
是
主要定义姓名、电话、手机、病历号、种类、宠物名的数据类型和字段大小。
表3-2.2登记薄表
姓名
电话
手机
病历号
种类
宠物名
李太太
7024606
13655522221
11112
猫
Ms
张太太
7024607
13655522222
11113
狗
阿大
主要记录着姓名、电话、手机、病历号、种类、宠物名。用户信息添加和查找在登记薄中有记录。
3.药品信息表
表3-3.1药品数据表定义
字段名称
数据类型
字段大小
必填字段
允许空字符串
药品简称
文本
15
是
是
药品名
文本
20
是
是
新增数量
数字
长整型
是
是
单位
文本
10
是
是
近价
数字
双精度型
是
是
售价
数字
双精度型
是
是
厂家
文本
20
否
否
药品数据表定义了药品简称、药品名、新增数量、单位、近价、售价、厂家信息。
表3-3.2药表
药品简称
药品名
新增数量
单位
近价
售价
厂家
qwdk
犬瘟单抗
100
盒
100
200
齐鲁制药
qwgm
犬瘟高免
100
盒
100
200
齐鲁制药
其他信息表一样也是通过数据表定义建立数据表。
4 详细设计
4.1系统的主要功能
开发一个宠物医院管理系统,可以实现动态的连接应用程序服务器,只要对配置文件进行配置,就可以像网上邻居一样选择所要连接的应用程序服务器。并能实现登录、客户管理、药品和宠物用品的添加和修改 、数据的备份和还原等功能。
4.2 系统的基本模块
根据需求分析,本系统的设计功能共划分为七个子模块分别为:系统操作模块、客户管理
模块、药品管理模块、治疗处理模块、宠物用品模块、财务管理模块、系统管理模块。
系
统
操作
客户管理
药品管理
治疗处理
宠物用品
财务管理
系统管理
宠物医院管理
图 4-1 总体功能模块示意图
4.2.1系统操作模块
系统操作模块:本模块的主要功能是完成用户的登录和退出。是系统最主要的模块。
登录界面图:
图4-2 登录界面
为宠物医院的相关信息不被其他人员任意查阅更改,本系统的使用应首先进行用户的登录确认,只有正确输入系统管理员姓名和密码才能够进入本系统,进行信息的管理.如果姓名与密码不相符,则弹出提示窗口,提示密码错误;输入正确,点击登录按钮,即可进入系统主界面。
退出:主要功能是退出该系统回到WINDOWS环境下。
4.2.2客户管理模块
客户管理模块:本模块的主要功能是完成客户的相关信息和宠物的信息。客户信息包括客户名、电话、手机。宠物信息包括病历号、宠物种类、宠物名、病称。同时模块还有查找用户和删除用户的功能。
登记薄图:
图4-3登记界面
登记薄是登记畜主及其宠物的详细信息,每个畜主第一次带来宠物时在大部分医院要进行挂号。
图4-4添加用户界面
在上图中可以录入畜主和宠物详细信息,病历号。
图4-5 病历界面
4.2.3药品管理模块
药品管理模块:本模块的主要功能是完成药品的管理。药品的管理:药品的添加、药品的修改、药品库存的查看。程序实现了药品信息的添加、查询、修改、删除功能
查询、添加、修改、删除用的函数命令如下:
SELECT:用于检索数据;
INSERT:用于增加数据到数据库;
UPDATE:用于从数据库中修改现存的数据;
DELETE:用于从数据库中删除数据。
新增药品:
图4-6新增药品界面
药品修改:
图4-7药品修改界面
药品库存:
图4-7药品库存界面
药品管理和治疗处理、用品管理的功能相差不多。其中添加、修改、查找都是用相同的功能代码完成的。
4.2.4财务管理模块
财务管理模块:本模块的主要功能是完成收银和支出的纪录。收银主要是:挂号费、药费、宠物用品费。支出主要是:买药费、买宠物用品费。
图4-8收银界面
图4-9支出界面
4.2.5系统管理模块
系统管理模块:本模块的主要功能是完成备份和还原。备份和还原在系统中有比较重要的功能。如果出现意外,可以在备份文件中还原回来,而不会造成损失。
1.备份
图4-10备份界面
数据库的备份功能的实现过程是:点击数据备份菜单,则把数据库复制并另存为到用户指定的地方并重命名。备份成功,系统提示备份成功。
procedure Tsjbf_Form.Button1Click(Sender: TObject);
var
path:string;
begin
if SaveDialog1.Execute then
if SaveDialog1.FileName <> '' then
begin
path := ExtractFilePath(application.ExeName);
try
copyfile(pchar(path+'/db/data.mdb'), pchar(SaveDialog1.FileName+' .mdb.bak'),false);
messagebox(getactivewindow(),'成功备份数据!','提示!' ,MB_OK + MB_ICONINFORMATION);
except
messagebox(getactivewindow(),'备份数据失败,请重试!!','错误!' ,MB_OK +MB_ICONERROR);
end;
end;
end;
2.还原
图4-11还原界面
数据库的还原功能实现过程如下:点击数据还原菜单,用户手动找到数据备份存放的地址。打开备份数据库并复制数据库备份。并把原数据库删除且把数据库备份考贝到原数据库的位置并重命名为原数据库的名字。
procedure Tsjhy_Form.Button1Click(Sender: TObject);
var
path:string;
begin
if OpenDialog1.Execute then
if OpenDialog1.FileName <> '' then
begin
path := ExtractFilePath(application.ExeName);
try
main_Form.ADOConnection1.Connected:= false;
Deletefile(path+'/db/data.mdb');
copyfile(pchar(OpenDialog1.FileName),pchar(path + '/db/data.mdb'), false);
messagebox(getactivewindow(),'成功恢复数据,单击确定后请重新运行软件!','提示!
,MB_OK + MB_ICONINFORMATION);
Application.Terminate;
except
messagebox(getactivewindow(),'恢复数据失败,请重试!!','错误!' ,MB_OK +
MB_ICONERROR);
end;
end;
end;
4.2.6主界面
系统操作:实现了系统登录系统和退出系统。
客户管理:实现了宠物主人的基本信息,如姓名、电话、手机、病历号、宠物种类、宠物名。
药品管理:实现了药品信息的查询、添加、修改、删除功能。
治疗处理:实现了治疗处理的查询、添加、修改、删除功能。
用品管理:实现了用品信息的查询、添加、修改、删除功能。
财务管理:费用的收入和支出功能。
系统管理:实现了数据库的备份和还原功能。
与数据库建立连接代码
//设置数据库连接字段
adoconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+'Data Source='+getcurrentdir+'\db\data.mdb;'+'Persist Security Info=False';
adoconnection1.Open;
5 总结
通过这次对宠物医院管理系统的设计,使我对宠物医院管理有了一个全面的了解,对Delphi也有了一个系统的学习。毕业设计使我巩固了课本上所学的理论知识,也使我初步具备了对理论知识的系统地应用,能够将书本知识与实际运用相结合,也锻炼了我的实践能力,提高了查阅应用资料、手册的技巧,培养了我独立完成设计工作的精神和团队协作的意识,开阔了自己的眼界和思路,更重要的是使我深刻认识到知识的重要、学习的重要,并发现了许多自身的不足。
与此同时不断的发现设计的一些漏洞和不完善性,发现自己的最初设想过于简单。虽然在系统开发之前,我们已经进行了一段时间的思考和调查,但是在设计过程中才意识到开发前的设计也是如此的重要,而自己所做的,却是如此之不足。这对我今后的工作也是一个不小的提示,做事前要做充分的准备工作。不然的话,只会象这次的设计一样,虽然也在不断的改进,但是缺少了整体的规划,盲目的改进仍存在不少的问题。
在编程的过程中遇到了不少技术问题,在反复尝试,翻阅资料和老师同学的帮助下学会了一些,但是学海无崖,要学的还有很多。
总之,通过这次设计收获很多,同时发现的问题也有不少,更多更好的了解了自己的不足,这也是一种进步,这样一来才能更好的提高自己,改善不足。
6 致谢
在本次毕业设计中,徐龙玺老师作为我的指导老师,给予了我耐心而又专业的指导.老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的指导,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此对他细心而又耐心的辅导致以我诚挚的谢意。感谢徐老师的细心指导。
另外,在此还要感谢学校给我们提供的优越的学习上机机会。感谢学校、学院和机房的老师,还有在毕业设计过程中给过我帮助的同学们,在此,我也就不一一提名了,感谢你
展开阅读全文