图书管理信息系统_第1页
图书管理信息系统_第2页
图书管理信息系统_第3页
图书管理信息系统_第4页
图书管理信息系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书管理信息系统 作者: 日期:2 个人收集整理 勿做商业用途分类号:密级::编号:昆明冶金高等专科学校毕 业 论 文图书管理信息系统作者姓名:李迎春 陈茜作者学号:14 2年级班级:微机0213专业:计算机运用指导教师:朵云峰论文提交日期:2005年6月13日论文答辩日期:2005年6月16日指导教师签名:摘 要该图书管理信息系统主要是针对学校的图书馆作为使用对象而开发的,作为一个典型的信息管理系统(MIS),其系统开发任务主要包括数据库的设计与维护、客户端应用程序的开发等两个方面。对于数据库的设计与维护要求所建立的数据库具有完整性和一致性,如用户需要密码才能使用等,而对应用程序的开发则要求

2、程序界面友好、功能完备、使用容易等特点。本系统使用Borland 公司的Delphi7作为前端开发工具,使用SQL Server2000作为数据库后台服务器来开发的。实现了该系统在实际中所应该具备的功能。 关键字图书、管理、数据库管理系统、信息管理系统、Delphi、SQL Server2000。 目录一、 引言-4二、 管理信息系统基本概念-6 21管理信息系统简介-6211 MIS的定义-6212 MIS的主要功能-6213 MIS的结构-622管理信息系统的设计原则-723 Delhi的数据库特性及功能简介-7三、 需求分析-831功能需求-832 性能需求-8四、系统设计-941系统模

3、块设计-942数据库设计-9421数据字典-9422数据库结构设计-10五、 系统实现-1251工程窗体结构设计-1252主窗体设计-1353登录窗体-1454数据模块设计-1755图书管理窗体设计-18 551新书入库-18 552图书管理的实现-2156 读者管理窗体设计-2457借阅管理窗体设计-2758信息查询窗体设计-3159 系统测试与性能分析-34六、结束语-35后记-36参考文献-37一、 引言图书资料的管理在学校图书馆是一项必不可少的工作,在没有电脑的时代,人们使用传统的人工方式来管理图书资料,这种管理方式存在着许多缺点,如:效率低、费时、保密性差、查找较不方便、浪费了很多的

4、劳动力,在实际工作中带来了很多的困难。但是,随着科学技术的发展,目前大多数的高校已经有了自己的图书管理系统,而一些中、小学的图书管理仍然是人工管理,历史证明,这种管理制度不能适应时代的发展,因为这种管理制度将浪费许多物力、人力、及时间。因此,在以计算机技术为基础的当今科学发展中,以计算机为基础的信息管理代替手工操作是历史发展的必然,是生产力发展的结果。图书信息管理作为计算机应用的一个分支,有着许多的优点,如:检索迅速、查找方便、准确率高、使用及时、存储量大、成本低等特点。因此,开发一个图书信息管理系统,是高校非常必要的,也是必不可缺少的。数据库信息系统管理的开发,是一门理论与实践紧密结合的学科

5、,一直以来受到人们的。重视。Visual C+(以下简称VC)作为数据库开发的常用工具,虽然功能强大,但是由于其落后的FC架构,使得很多初级程序员望而却步;Delphi7作为Windows环境下面向对象的快速开发工具(RAD)以其高速的开发效率深得程序员的喜爱。Delphi7除了在数据库方面有很强的优势以外,在其他方面也有着非常强大的功能,Delphi7进行数据库的开发技术不亚于VC,同时大大提高了开发效率,有时只需要少量的代码就可以实现很多复杂的功能。正如业界信奉的格言:“真正的程序员用VC,聪明的程序员选择Delphi!"SQL Server2000介绍:SQL Server20

6、00是Microsoft公司最新开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计及管理功能。其特点体现在以下几个方面:l 与Internet的紧密结合SQL Server2000的数据库引擎集成了对XML的支持,同时可以扩展、易于使用和安全的特点。l 可扩展性和可用性为了兼顾各种计算机的使用,SQL Server2000 的数据库引擎可用运行在从装Windows 98的台式机、笔记本电脑到安装Windows 2000的数据中心的多处理器计算机上。l 企业级数据库SQL Server2000 关系数据库引擎具备有完善而强大的数据处理功能。l 简单、友好的操作方式l 数据仓库支持

7、 SQL语言介绍l 在这里我们用到了SQL结构化查询语言,所以在这里插入篇幅来介绍下SQL结构化查询语言,因为这在以后的设计过程中经常要用到它。l SQL(Strctured Query Language)是结构化查询语言的缩写,它专用于关系数据库的设计、维护和控制,目前已被众多的大中型数据库管理系统所采用,例如:SQL Server,Oracle,Sybase等。支持SQL编程是Delphi的重要特色,Delphi与所有的使用SQL语言的数据库管理系统兼容,它还提供了一个Tquery组件专门用于支持SQL语言。SQL语言能够实现复杂的查询功能,这是其他语言所不具有的。l SQL语言有如下优点

8、:1. SQL语言是所有关系数据库的公共语言。2. SQL语言是非过程化查询语言。3. SQL使用查询优化器,它是RDBMS的一部份,它可以为查询配置一种最快速存储的方式。4. SQL提供了简单而丰富的命令,易学、易用。l 在这里我们主要介绍下本案例所要用到的SQL命令,其他则可以参考有关书籍。这些命令主要是:1. SELECT 命令:主要是从数据表中选择出符合条件的记录,它的完整语法如下:SELECT 目标表的字段名或字段表达式序列FROM 基本表或视图序列WHERE 记录条件表达式GROUP BY 字段序列名HAVING 组合条件表达式ORDER BY 字段名ASCDESC1. 数据的插入

9、:用户在使用数据表的时候,经常要对数据表进行更新,数据的插入就是其中一种更新方法。它的语法如下:INSERT INTO 表名字段名,字段名VALUES(<值表)l 数据的更新数据的更新是指对已经存在的数据进行修改,用UPDATE语句实现,其语法为:UPDATE 表名 SET 表名.字段名1>=表达式1>, 表名。字段名2>=<表达式2 表名。字段名n>=表达式n>,WHERE-l 数据的删除数据的删除是指把数据表中的符合条件的记录从表中删除掉,其语法为:DELETE FROM <表名WHERE 子句在Delphi 中Tquery组件是一个使用SQ

10、L语句对数据库中的数据进行功能强大的查询组件.它使用SQL语言访问数据库的一个或多个表,还可以是类型不同的表。其技术可以参考有关书籍。 二、 管理信息系统的基本概念 管理信息系统是用来为管理人员和决策者提供计算机硬件、系统软件、数据库、通信、人员和应用程序的集合.21 管理信息系统简介管理信息系统就是我们常说的MIS(Management Information System),它是20世纪80年代才逐渐形成的一门新学科,其概念至今无统一的定义,其理论基尚不完善.但从国内外学者给MIS所下的定义来看,人们对MIS的认识逐步加深,MIS的定义也在逐渐发展和成熟。211 MIS 的定义 MIS的定

11、义有很多种,研究者们从各自的角度出发给出了不同的定义。MIS的一个定义是:一个MIS是能够提供过去、现在和将来预期信息的一种有条理的方式,这些信息涉及到内部业务和外部情报。它按适当的时间间隔供给格式相同的信息,支持一个组织的计划、控制和操作功能,以便辅助决策制定过程。MIS的另一个定义是:MIS是一个由人、计算机等组成的能进行信息收集、传送、储存、维护和使用的系统,能够实测企业的各种运行情况,并利用过去的历史数据预测未来,从企业全局的角度出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。212 MIS的主要功能1. 信息处理信息处理对组织的数据和信息进行收集、存储、传输、加

12、工、查询等操作,以实现向管理人员及时提供所需的可靠、准确信息的功能。2. 辅助事务处理和辅助组织管理 辅助事务处理,包括具有通用性的事务处理(如计划的制定与管理、人事管理、财务管理等)和各类特殊事务处理(如物资管理、销售规律3、教学管理、群众来信来访管理等).3. 支持决策实测企业运行情况、预测企业未来行为、辅助企业决策人员进行决策是管理信息系统的重要功能,管理信息系统主要是辅助结构化决策问题。213 MIS的结构 MIS的结构有以下几种:l 总体结构:信息源、信息处理器、信息用户、信息管理者。l 物理结构:物理组成、处理功能、用户需要的输出。l 层次结构:用于执行控制的信息系统、管理控制的信

13、息系统、战略计划的信息系统.l 职能结构:一般企业的职能子系统有市场销售、生产管理 、物资供应、人事管理、财务管理、信息管理、高层管理等子系统。l 空间分布结构:集中式系统、分布式系统.22 管理信息系统的设计原则管理信息系统的设计与开发是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,尽可能地提高系统的各项指标。具体的设计原则如下:l 实用性原则要力求最大限度得满足实际工作的需要,考虑各业务层次、各管理环节数据处理的实用性,把满足用户生产的和管理业务作为第一要素进行考虑。用户接口和操作界面设计尽可能做到界面美观大方、操作简便实用。l 可扩展性原则为适应将来的发展,MIS系统

14、应具有良好的可扩展性和可维护性.软件设计应尽可能模块化、组织化,使应用系统可灵活配置,适应不同的情况.数据库的设计应尽可能考虑到未来的需要。l 安全性原则应用软件与数据库系统的设计要做到安全可靠,防止非法用户的入侵。数据库的备份策略恰当,以防灾难性事故的发生.l 用户界面设计原则用户界面的设计应符合Windows规范的图形用户界面(GUI),做到美观大方。用户界面应当直观、明了、条理清晰。实现“傻瓜型”管理-易学、易用、易管理。l 数据库设计原则一致性原则:对信息进行统一、系统的分析与设计,协调好各数据源,保证系统数据的一致性和有效性.完整性原则:数据库的完整性是指数据的正确性和相容性。要防止

15、合法用户使用数据库时向数据库加入不规范的数据。对输入到数据库中的数据要审核和约束机制。安全性原则:数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄漏、更改或破坏。数据库要有人证和授权机制。可伸缩性原则:数据库的设计应充分考虑发展的需要、移植的需要,应具有良好的扩展性。伸缩性和适度冗余。规范化数据库的设计:应遵循规范化理论。规范化程度过低的数据库,可能会存在插入/删除异常、修改复杂、数据冗余等问题,解决的方法就是对关系模式进行分解或合并,转换成高级范式。规范化一共有6个级别:1NF、2NF、3NF、BCNF、4NF、5NF。但并不是规范化程度越高越好。 23

16、Delphi的数据库特性及功能简介: 计算机软件的开发分为两个不同的体系,其中一个体系是使用传统的程序设计语言(如PascalBasic和C等)开发数值控制、数值运算等软件,围绕它们的重点是算术、数据结构及近年产生的面向对象技术。另一个体系则是通用的数据库管理软件领域。这两个体系的发展都及为迅猛,但是二者并没有出现混合渗透迹象。Delphi是Borland公司于1994年底发布的用于开发数据库应用程序的工具,它是面向对象的,它是目前开发客户/服务器数据库应用程序的强有力的工具。它可以访问多种数据库管理系统的数据库,凭借窗体(Forms)和报表(Rports),BDE(Borland Datab

17、ase Engine)可以访问诸如Paradox、本地InterBase服务器的数据库,也可以访问远程数据库服务器上的数据库。 三、需求分析 需求分析:为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求.对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼.需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。3. 1 功能需求该图书管理系统涉及图书信息、系统用户信息、读者信息、图书借阅信息等多种数据管理.从管理的角度出发可将图书管理分为三类:图书信

18、息管理、系统管理、读者数据管理。图书信息管理包括图书入库、图书增删、图书借还和查询操作,系统管理主要是用户密码管理,读者数据管理包括读者类别管理和读者个人数据的录入、修改、删除、借书和还书等。典型的图书管理系统主要应具有以下功能:l 图书入库管理:录入新的图书信息。l 图书信息管理:主要是对已有图书的修改、删除。l 图书借还管理:实现对图书的借出和归还的信息管理。l 图书查询管理:通过各种查询方式来进行查询,比如书号、作者等。l 系统用户管理:实现用户密码的管理。l 读者数据管理:读者个人数据的录入、修改、删除、刷新等功能。32 性能需求 系统的运行对运行环境的一些要求:1. 硬件环境:l 处

19、理器:Inter Pentium 166 MX 或更高。l 内存:不小于64MB;l 硬盘空间:不小于1.5GB。l 显卡:SVGA显示适配器.2. 软件环境:l 开发环境:Windows XPl 开发工具:Delphi7l 数据库管理系统:SQL Server2000l 运行环境:Windows 98/ME/2000/XP 四、 系统设计 系统设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题通过这个阶段的工作将划分出组成系统的物理元素-程序、文件、数据库、人工过程和文档等,但是每个物理元素仍处于黑盒子级.它的另外一个任务是设计软件的结构,也就是要确定系统中的每个程序是有那些模块

20、组成的,以及这些模块相互之间的关系。41 系统模块设计根据系统功能分析和图书管理系统管理的特点,经过模块化的分析,得到如图所示的系统功能模块结构图。图书管理系统 图书借阅管理读者管理图书管理用户登录系统管理图书查询 图书管理图书入库用户密码管理借阅查询图书基本信息添加读者信息删除读者信息刷新读者信息归还管理借出管理42 数据库设计421数据字典 根据系统功能模块结构图和典型的图书管理系统的需求,可得如下的数据字典:l 系统用户数据:图书馆内部人员使用图书管理系统的身份数据,包含的数据项是用户口令(密码)。l 图书入库数据:用于生成新的图书书目数据,包含的数据项有图书书号、书名、作者、出版社、出

21、版日期、内容简介、价格等.l 读者个人数据:读者个人与图书借阅有关的身份数据,包含的数据项有读者号、姓名、性别、身份证号。l 查询:图书基本信息、读者基本信息、借阅基本信息查询.l 图书借阅数据:与借阅有关的一些数据,包含的数据项有图书书号、读者的读者号、借阅日期、还书日期。422数据库结构设计 根据系统需求,分析出实体关系图:读者借阅图书 l 根据实体-关系图和数据字典,设计出该图书管理信息系统数据库中的各个数据表。根据图书实体得到图书数据表(Book),根据读者实体得到读者个人数据表(Reader),根据借阅联系得到借阅表(Lend).在这里我们用SQL Server2000数据库管理系统

22、来设计数据库. 该图书管理系统的数据库包含的三个关系表是:图书数据表(Book)、读者数据表(Reader)、借阅数据表(Lend)。l 图书数据表:书号、书名、作者、出版社、出版日期、价格、数量、说明l 读者数据表:读者号、读者姓名、性别、身份证号l 借阅数据表:书号、读者号、借出日期建立数据库名为BOOKBook表:对应图书数据表,见表(a)Reader表:对应读者数据表,见表(b) Lend表:对应借阅数据表 ,见表(c) (a)图书数据表:Book (b)读者数据表:Reader (c)借阅数据表:Lend图书数据表、读者数据表、借阅数据表这三个表之间的关系图为:见表BRL BRL五、

23、 系统实现51 工程窗体结构设计 在Delphi7中创建一个工程,即图书管理信息系统工程,命名保存为BookManage。dpr.该工程主要包含的窗体结构图为:如下图所示:图书管理信息系统工程 借阅管理窗体信息查询窗体图书管理窗体登录窗体主窗体 这六个窗体的Name属性分别为MainForm、LoginForm、 BookForm、 LendForm 、 QueryForm。它们对应的单元文件分别为Main 、Login、 Book、 Reader、 Lend、 infoQuery。52 主窗体设计 主窗体MainForm是应用程序的控制核心,在主窗体中可完成其他窗体之间的切换.主窗体的界面如

24、图所示。 用到的主要组件对象的属性设置见表所示:组件对象名 属性 属性值 说明Lable1 Caption 欢迎使用图书管理信息系统 显示字体组件对象名 属性 属性值 说明Image1 Picture (设置一幅位图) 主窗体中的背景图 Stetch True Autosize TrueMainMenu1 Items 制作一些菜单项 菜单制作最后效果图为: 在主窗体中通过单击菜单项按钮来选择所需的窗体,每个菜单项的功能就是显示对应的窗体。它们的单击事件的程序代码如下: procedure TMainForm.N2Click(Sender: TObject);beginbookform。show

25、; /显示图书管理窗体end;procedure TMainForm。N3Click(Sender: TObject);beginreaderform.show; /显示读者管理窗体end;procedure TMainForm。N4Click(Sender: TObject);beginlendform。show; /显示借阅管理窗体end;procedure TMainForm.N6Click(Sender: TObject);beginclose; /关闭主窗体end;procedure TMainForm.N8Click(Sender: TObject);beginqueryform。

26、Show; /显示信息查询窗体end;53登录窗体 其界面如图所示: 用户登录窗体运行时是让用户输入密码,以确定用户是否合法,能否进入系统。用户登录是最多可输入三次密码,如果密码仍不正确系统将关闭,所以我们可以定义一个变量来记录密码输入次数,在LoginForm窗体的变量定义部分定义:entertime:integer;并在LoginForm窗体的Oncreate事件的处理过程中初始化该变量.程序代码如下:procedure TLoginForm。FormCreate(Sender: TObject);beginentertime:=0;end;l 确定按钮功能的实现确定按钮的功能是用来检测用

27、户输入的密码是否正确。其单击事件OnClick的处理代码如下: procedure TLoginForm.BitBtn1Click(Sender: TObject);varpwfile:textfile;possword:string;beginAssignfile(pwfile,config。sys'); /从文件config.sys中读取密码reset(pwfile);readln(pwfile,possword);closefile(pwfile);inc(entertime); /密码输入次数增加1if edit1.text=possword thencloseelsebegi

28、n label1.Caption:='密码输入错误,请重新输入:'if entertime>=3 then /超过输入次数beginmessagebox(handle,'输入密码错误超过三次,程序退出!,信息,MB_OK);close;application。Terminate; /应用程序结束end elsebeginedit1。Text:=;edit1.SetFocus;end;end;end;其中config.sys文件用记事本来创建,保存时必须以。sys作为扩展名。登录窗体它将在主窗体初次激活之前被显示,这样才能起到合法性检查的作用。所以在主窗体(Main

29、Form)变量定义部分定义变量HaveLogin,它的作用是判断是否已经登录。在主窗体的OnCreate事件的处理过程中初始化变量HaveLogin,OnActivate事件的处理过程中显示用户登录窗体,代码实现为: procedure TMainForm。FormCreate(Sender: TObject);beginhavelogin:=false; /初始化,说明还没有登录end;procedure TMainForm。FormActivate(Sender: TObject);beginif not havelogin then /还没有登录beginloginform。show;h

30、avelogin:=true;end;end;l 修改按钮的实现: 建立一个窗体(PsForm)用来实现修改密码,从而维护系统.它要求原密码输入正确并且新密码与确认密码相同。其界面如图所示: 其中“确认”按钮单击事件的代码为:procedure TPsForm。Button1Click(Sender: TObject); varpwfile:textfile;possword:string;begin assignfile(pwfile,'config.sys); reset(pwfile); readln(pwfile,possword); closefile(pwfile); if

31、 oldedit。Text<>possword then showmessage('原密码不对,不能修改密码!') else if newedit.Text=confirmedit。Text then begin assignfile(pwfile,'config。sys'); rewrite(pwfile); writeln(pwfile,newedit。text); closefile(pwfile); showmessage('密码修改成功!); end else begin showmessage(新密码和确认密码不一致!); new

32、edit.SetFocus; end;end;54 数据模块设计l ADO (ActiveX Data Objects)是微软提供的一项技术,它是访问数据库的一种接口方式,可以发表访问各种类型的数据库,特别是OLEDB数据库。ADO已成为访问数据库的新的标准接口.从版本6开始,Delphi增添了对ADO的支持,以便让用户能迅速实现对终端用户用来做商业决策的数据的一致性访问,结合Delphi本身的开放式数据组件结构,程序员可以很快地建立应用程序,用来把自己的商业数据通过Internet发送给客户、最终用户以及整个销售环节。通过ADO,Delphi7也能让用户快速访问关系或非关系数据库以及EMai

33、l和商务文件系统。l ADO同时支持访问本地数据库和远程数据库,访问本地数据库时ADO的一般处理方法如下:(1) 连接到数据源,开始一个事务。(2) 执行SQL命令.(3) 如果命令返回数据集,则将数据存储在缓存中(4) 对数据进行操作(5) 用缓存中的数据更新数据集(6) 接受或者拒绝对数据库的修改,结束事务访问远程数据库时ADO的一般处理方法如下:(1) 指定服务器上被调用的程序和调用途径(2) 调用服务程序,通过服务程序从数据源中获得数据集,并将数据集返回到客户应用程序(3) 在客户端将服务程序返回的数据集显示给用户l BDE(Borland Database Engine)是Delph

34、i颇具特色的数据库连接管理技术。凭借窗体和报表,BDE可以访问诸如Paradox、 Dbase 、本地InterBase服务器的数据库,也可以访问远程数据库服务器上的数据库,如Oracle,SyBase,Informix等客户/服务器数据库中的数据库,也可以访问经ODBC可访问的数据库管理系统中的数据库。l BDE与ADO数据连接技术的比较:BDE 现在已经停止发展了,其性能被超越是迟早的事,因此,在开发长期应用产品时,我们应该采用ADO技术.这样做另外一个好处是,在进行产品分发时,可以避开大量BDE的链接库DLL的分发,而且让程序自动安装BDE不是件容易的事情.542 ADO常用的组件l A

35、DOConnection 组件:它起到一个桥梁作用,其他5个组件都可以通过它来操作数据库,它相对于其他5个组件来说就相当于数据库别名。它有两个重要属性:ConnectionString和LoginPrompt。ConnectionString属性可以指定一个到数据库的连接.其使用方法参考有关书籍。LoginPromt属性决定是否弹出密码输入框.l ADODataSet组件:通过它可以直接与一个表进行连接,也可以执行SQL语句,还可以执行存储过程。可以说集ADOTable ADOQuery ADOStoredProc三者的功能于一身。只要用于返回并操纵数据。l ADOComand组件:主要用于执

36、行SQL语句,例如 Insert,DeleteDrop等,如果要使用SELECT语句建议使用TADOQuery组件。l ADOTable组件:与BDE中的Table组件非常类似,许多属性、事件和方法也一用。它的作用是从一个数据表中获得并操纵数据,ADOTable和Ttable组件的使用方法大致相同。l ADOQuery组件:用来对数据库中的数据进行查询.在后面将介绍.在这里我们建立数据模块(Data Module)来存放ADO组件对象,这样既便于窗体统一使用ADO组件对象访问数据库,也使维护修改更加简单。在Delphi7新建一个数据模块DataModuleADO,并在数据模块中放置ADOCon

37、ection组件对象、ADOQuery组件对象和ADOTable各一个,然后设置它们的属性,如图所示: 在数据模块DataModuleADO创建时完成对三个ADO组件对象的初始化,这在DataModuleADO的OnCreate事件的处理程序中实现,代码如下:procedure TDataModuleADO.DataModuleCreate(Sender:Tobject);beginADOConnection1.ConnectionString:=Provider=Microsoft.jetOLEDB。4。0;DataSource=+Mypath+DataBookManage。mdb;Jet

38、OLEDB: Database Password=+MyPassw+;Persist Security Info=False;ADOQuery1.Connection:=ADOConnection1;ADOTable1。Connection:=ADOConnection1;5。5 图书管理窗体设计 图书管理窗体包括新书入库和图书管理两个功能。在工程中选中BookForm窗体,然后添加一个TpageControl组件对象,在改对象上建立两个界面(Tabsheet),用到的组件和属性设置参考界面。551 新书入库新书入库的界面如图所示,其中用到的组件对象可以从图中看出:主要是Lable,Edit组

39、件。 在新书入库页显示时,需要清空几个编辑框并将输入焦点放在输入书号的编辑框CodeEdit上,这在TabSheet1(新书入库页)的OnShow事件的处理程序中实现,代码如下:procedure TBookForm。TabSheet1Show(Sender: TObject);begincodeedit.SetFocus;codeedit。SelectAll;nameedit。Text:='';authoredit。Text:=;outtimeedit.Text:='costedit。Text:=''pressedit.Text:=';memo

40、1.Lines.Clear;end;单击“入库”按钮将在几个编辑框中填入的新书的数据加入到数据库中,其只要内容有:(1) 检查新书书号是否正确,如果不正确则退出入库操作;(2) 检测此书号是否已经存在,如存在则退出入库操作;(3) 将新书的数据假如到数据库中。在这里我们用到SQL语言来向数据库中插入数据,其语法为:insert into 表名字段名,字段名-values (值表)Query 组件的赋值语句为:ParamByname(FieldName)。Value:=s1;而ADOQuery组件的赋值语句为:Parameters。ParamByname(FieldName')。Valu

41、e:=s1;综上知识,可以得出入库按钮的Onclick事件的代码:procedure TBookForm。Button1Click(Sender: TObject);beginif length(codeedit。Text)<>10 then /新书书号长度是否10beginmessagedlg('书号不正确 ',mterror,mbok,0);codeedit。SetFocus;exit;end; with DataModuleADO。ADOQuery1 do /检查新书的书号是否已经存在 begin SQL.Clear; SQL。Add(select Code

42、from Book where Code =:Code); Parameters.ParamByName('Code').Value :=CodeEdit。Text; Open; if RecordCount 0 then /此书号已经存在 begin MessageDlg('书号'+CodeEdit。Text+已经存在',mtError,mbok,0); CodeEdit。SetFocus; Exit; end; Close; end; try with DataModuleADO。ADOQuery1 do begin SQL。Clear; SQL。A

43、dd(insert into book(Code,Name,Author,Press,OutDate,Cost,Num)'+ values (:Code,:Name,:Author,:Press,:OutDate,:Cost,:num); Parameters.ParamByName(Code).value := CodeEdit.Text; Parameters.ParamByName('Name)。value := NameEdit.Text; Parameters.ParamByName('Author).value := AuthorEdit。Text; Par

44、ameters.ParamByName('Press).value := PressEdit。Text; Parameters.ParamByName('num)。value := numEdit。Text; try Parameters.ParamByName(OutDate').value := StrToDate(OutTimeEdit.Text); except MessageDlg('参数出版时间>设置错误,mtError,mbok,0); Exit; end; try Parameters。ParamByName(Cost).value := StrToFloat(CostEdit。Text); except MessageDlg(参数价格设置错误',mtError,mbok,0); Exit; end; ExecSQL; end; TabSheet1Show(Sender); except MessageDlg(入库出错',mtError,mbok,0); end;end; 552 图书管理的实现图书管理页主要完成对数据库中图书数据的修改,其界面如图所示: 其中我们用到的主要组件是:组件对象名 属性 属性值 说

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论