《图书馆图书管理的数据库系统开发文档.pdf》由会员分享,可在线阅读,更多相关《图书馆图书管理的数据库系统开发文档.pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 图书馆图书管理的数据库系统 第一章 概述 1.1 数据库及其应用 自20世纪70年代以来,数据库技术得到迅速发展.目前世界上已经有数百万个数据库系统在运行,其应用已经深入到社会生活的各个领域,从企业管理,银行管理,资源管理,经济预测一直到信息检索,档案管理,普查统计等.我国 20 世纪 90 年代初在全国范围内装备了 12 个以数据库为基础的大型计算机系统,这些系统分布在邮电,计委,银行,电力,铁路,气象,民航,情报,公安,军事,航天和财税等行业.现在,数据库技术还在不断发展,并且不断的与其它计算机技术相互渗透.数据库技术与网络通信技术相结合,产生了分布式数据库系统.数据库技术与面象对象技术
2、相结合,产生了面向对象数据库系统等各种数据库系统.在人类迈向 21 世纪知识经济的时候,信息变为经济发展的战略资源,信息技术已成为社会生产力重要的组成部分.人们充分认识到,数据库是信息化社会中信息资源管理与开发利用的基础.对于一个国家,数据库的建设规模,使用水平已成为衡量该国信息化程度的重要标志.因此,数据库的学习是非常重要的.1.2 数据库系统 数据库系统本质上是一个用计算机存储记录的系统。数据库本身可被看作为一种电子文件柜:也就是说,它是收集计算机数据文件的仓库或容器。系统用户可以对这些文件执行插入数据、检索数据、更改数据、删除数据等一系列操作。总之,数据库系统是一个计算机存储记录的系统,
3、即,它是一个计算机系统,该系统的目标存储信息并支持用户检索和更新所需要的信息。图 1-2 是一个数据库系统的简图。图 1-2 数据库系统简图 1.3 数据库系统简介 本人设计的是一个关于图书馆图书管理的数据库系统,通过这个系统管理员可以简捷、方便的对图书记录查阅、增加、删除等功能,而用户也可以通过这个系统对进行图书查询、借阅、归还等功能。该数据库应用程序按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查询访问和内部管理人员对数据记录的管理维护.每一部分中包含各自实现的各项功能,对每一项功能的实现,将按照窗体设计以及运行情况的顺序逐一进行设计.本系统采用 microsoft acces
4、s 技术建立数据库,使用 VB 技术建立数据源的链接,并且生成图书管理的数据库应用程序从而实现数据库的管理功能。第二章 数据库系统设计 2.1 数据库设计概述 计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。对于数据库应用开发人员来说,为使现实世界的信息流计算机话,并对计算机话的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个
5、确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,有能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。2.2 数据库设计周期 根据软件工程的思想,数据库设计的周期可以划分为六个阶段:(1)规划阶段 确定开发的总目标,给出计划开发的软件系统的功能、性能、可靠性以及接等方面的设想。(2)需求分析阶段 认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果,提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。(3)设计阶段 把需求分析阶段所确定的功能细化,主要工作是概念
6、设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。(4)程序编制阶段 以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。(5)调试阶段 对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。(6)运行和维护阶段 这是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。在运行中,必须保持数据库的完整性,必须有效的处理数据故障和进行数据库恢复。同时解决开发过程的遗留问题,改正错误进行功能完善。第三章 图书管理系统具体设计 3.1 图书管理系统总体规划 对于数据库系统,规划工作是十分必要的。规划
7、的好坏将直接影响到整个图书管理系统的成功与否,数据库设计中的规划阶段的主要任务是建立数据库的必要性及可行性分析,确定数据库系统在整个图书管理系统的地位。根据图书管理数据库对技术人员和管理人员的水平、数据采集和管理活动以及借阅者的计算机素质的要求;数据库技术对计算机系统的软硬件的要求。决定把数据库管理系统设计成为一个综合的数据库。此数据库包括所有操作人员的所有活动功能。因为,此图书管理系统应用界面较简单、功能单一。所以,用一个综合的数据库就能满足图书管理要求,而且实现容易。因此,图书管理系统可以按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查阅访问和内部管理人员对图书记录的管理维护。
8、但是,这两部分都调用的是同一数据库,只不过内部管理人员能实现所有管理功能,而外部学生访问数据库时,一些功能被屏蔽,只能进行查阅。3.2 需求分析 3.2.1 需求描述与分析 设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和最基本的。特别是数据应用非常广泛,非常复杂,要是事先没有对信息进行充分和细致的分析,这种设计就很难取得成功。通过需求分析阶段对图书管理系统的整个应用情况作全面的、详细的调查,确定图书管理的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些写成用户和数据库设计者都能够接受的文档。事实上,需求分析是数据库开发中最难的任务之一。因为
9、,第一,系统本身是可变的,用户的需求必须不断调整,使之与这种变化相适应。第二,用户很难说清某部分工作的功能处理过程。所以,设计人员必须认识到:在整个需求分析以及系统设计过程中,用户参与的重要性,通过各种方法展开调查分析。3.2.2 需求分析的步骤 需求分析大致可分为三步来完成,即需求信息的收集、分析整理和评审通过。(1)需求信息的收集 需求信息的收集又称为系统调查。为了充分地了解用户可能提出的要求,在调查研究之前,要做好充分的准备工作,要了解调查的目的、调查的内容和调查的方式。1)调查的目的 首先,要了解组织的机构设置,主要管理活动和职能。其次,要确定组织的目标,大致管理流程和任务范围划分。因
10、此,图书管理系统主要是通过对现有的图书管理系统进行考察、研究。并且通过和图书管理人员、学生交流来完善管理功能。2)调查的内容 外部要求:信息的性质,响应的时间、频度和如何发生的规则,以及图书管理的要求,安全性及完整性要求。管理的现状:即图书管理信息的种类,信息流程,信息的处理方式,各种图书服务工作过程。组织机构:了解图书管理机构的作用、现状、存在的问题,及是否适应计算机管理。3)调查方式 通过对图书管理人员的访问、交谈可获得图书管理高层的、内部的管理需求,以及图书管理的管理目标、未来图书管理发展变化趋势和长远规划的有关信息。并且,还可通过具体借阅活动,了解借阅的流程、借阅的控制方式、日常管理信
11、息,对图书管理系统有一个深刻得了解。(2)需求信息的分析整理 要想把收集到的信息(如文件、图表、票据、笔记)转化为下一阶段设计工作可用的形式信息,必须对需求信息做分析整理的工作。1)管理流程分析 图书管理人员必须完成日常的借书还书工作,还需进行图书馆的维护(图书维护、读者资料维护)和进行图书和读者的查询。2)注意事项分析 管理员在借书时,应根据读者提供的有效资料(借书证)验证读者的身份合法性,确定读者能不能借书,(根据对管理员的调查结果表明当读者不是本校学生、读者借书超期末还、读者借书总数据超过 8 本未还者不能借书。)管理员在对系统进行维护时不能对借出的书籍进行修改、删除,不能对借有图书的读
12、者进行修改、删除等。定期对超期未归还图书的读者公告等。3.3 概念设计 按照上述系统设计的构思进行程序设计,根据结构化程序设计的思想,本设计程序的总体结构,依据系统结构模块来划分程序模块。按系统的要求,本系统包括主要有四个方面:借书、还书、系统查询、系统维护。故含有借书、还书、系统查询(包含图书档案查询和读者档案查询)、系统维护(包括图书档案维护和读档案维护),退出、帮助等六个模块。1、总控模块 总控程序是整个系统控制的中心,也是系统进入各级模块的入口。它由主程序和主菜单组成。2、借书模块 本模块实现借书功能,用户输入借书证号和图书编号,系统会根据输入的内容判断能否借书,借书日期由系统给出。并
13、且借书成功与否系统都会给出提示。3、还书模块 本模块实现还书功能,用户输入借书证号和还书的图书编号,系统会根据输入的内容判断输输入的内容是否正确,并会给出相应的提示。4、系统查询模块 本系统提供了多种的查询模式,包括对图书的查询和对读者的查询。该模块的功能强大,读者档案查询包括有按借书证号、姓名、班级、专业等四种查询模式;图书档案查询包括有按图书编号、书名、作者、出版社等四种查询模式,另外还可以查询愈期还书读者。5、系统维护模块 本模块由图书档案维护和读者档案维护两个模块组成,主要完成日常的图书档案和读者维护,包括添加修改,删除,读者档案和图书档案等。6、退出模块 本模块是一个过程,实现系统的
14、退出。7、帮助模块 本模块提供了本系统的一些信息。3.4 逻辑设计 为了实现系统功能,本系统设立了一个数据库 tsgl.dbc 共有三个数据库表,它们分别是:图书档案数据库表ts.dbf,读者档案数据库表 dj.dbf,借书记录数据库表 js.dbf。1、ts.dbf(图书档案)数据库表结构如下:字段 字段名 类型 宽度 1 图书编号 字符型 6 2 书名 字符型 20 3 作者 字符型 10 4 单价 字符型 6 5 出版社 字符型 20 2、dj.dbf(读者档案)数据库表结构如下:字段 字段名 类型 宽度 1 借书证号 字符型 8 2 姓名 字符型 10 3 性别 字符型 2 4 专业
15、字符型 10 5 班级 字符型 10 3、js.dbf(借书记录)数据库表借物如下:字段 字段名 类型 宽度 1 借书证号 字符型 8 2 图书编号 字符型、6 3 借书日期 日期型 8 4 还书日期 日期型 8 下面将本系统的逻辑模型图列出如下:3.5 物理设计 以逻辑设计的结果作为输入,结合具体 DBMS 的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。3.5.1 索引的选择 本系统针对图书资料和读者资料两个不同的数据库设计两个主索引:图书编号和借书证号。3.5.2 存储结构和存取 本系统的数据直接存放在电脑的硬盘上,进行直接存取方法。图 书 馆 管 理 系 统
16、借 书 还 书系 统 查 询 退 出 帮助 系 统 维 护 图书档案维护 读者档案维护 图 书 查 询 按 编号查询 按书名查询 按作者查询 按出版社查询 读 者 查 询 按借书号查询 按姓名查询 按专业查询 按班级查询 添加图书档案 删除图书档案 修改图书档案 清空记录 添加读者档案 删除读者档案 修改读者档案 清空记录 查询愈期读 第四章 数据库实现 1、系统主菜单:tsglt.mpr *TSGLXT.MPR *菜单定义 *SET SYSMENU TO SET SYSMENU AUTOMATIC DEFINE PAD _0y40w84b0 OF _MSYSMENU PROMPT 借书 CO
17、LOR SCHEME 3 DEFINE PAD _0y40w84b3 OF _MSYSMENU PROMPT 还书 COLOR SCHEME 3 DEFINE PAD _0y40w84b4 OF _MSYSMENU PROMPT 系统查询 COLOR SCHEME 3 DEFINE PAD _0y40w84b5 OF _MSYSMENU PROMPT 系统维护 COLOR SCHEME 3 DEFINE PAD _0y40w84b6 OF _MSYSMENU PROMPT 退出 COLOR SCHEME 3 DEFINE PAD _0y40w84b7 OF _MSYSMENU PROMPT 帮
18、助 COLOR SCHEME 3 ON SELECTION PAD _0y40w84b0 OF _MSYSMENU do form js ON SELECTION PAD _0y40w84b3 OF _MSYSMENU do form hs ON PAD _0y40w84b4 OF _MSYSMENU ACTIVATE POPUP 新菜单项 ON PAD _0y40w84b5 OF _MSYSMENU ACTIVATE POPUP _0 xg1eijc4 ON SELECTION PAD _0y40w84b6 OF _MSYSMENU quit ON SELECTION PAD _0y40w8
19、4b7 OF _MSYSMENU do form sx DEFINE POPUP 新菜单项 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF 新菜单项 PROMPT 图书查询 DEFINE BAR 2 OF 新菜单项 PROMPT 读者查询 DEFINE BAR 3 OF 新菜单项 PROMPT 查询逾期还书读者 ON BAR 1 OF 新菜单项 ACTIVATE POPUP _0 xg1ebks9 ON BAR 2 OF 新菜单项 ACTIVATE POPUP _0 xg1eevn6 ON SELECTION BAR 3 OF 新菜单
20、项;DO _0y40w84bg;IN LOCFILE(TSGLXTTSGLXT,MPX;MPR|FXP;PRG,WHERE is TSGLXT?)DEFINE POPUP _0 xg1ebks9 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0 xg1ebks9 PROMPT 按编号查询 DEFINE BAR 2 OF _0 xg1ebks9 PROMPT 按书名查询 DEFINE BAR 3 OF _0 xg1ebks9 PROMPT 按作者查询 DEFINE BAR 4 OF _0 xg1ebks9 PROMPT 按出版社查询
21、 ON SELECTION BAR 1 OF _0 xg1ebks9 do form cqts ON SELECTION BAR 2 OF _0 xg1ebks9 do form asncqts ON SELECTION BAR 3 OF _0 xg1ebks9 do form azzcqts ON SELECTION BAR 4 OF _0 xg1ebks9 do form acbscqts DEFINE POPUP _0 xg1eevn6 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0 xg1eevn6 PROMPT 按借书
22、证号查询 DEFINE BAR 2 OF _0 xg1eevn6 PROMPT 按姓名查询 DEFINE BAR 3 OF _0 xg1eevn6 PROMPT 按专业查询 DEFINE BAR 4 OF _0 xg1eevn6 PROMPT 按班级查询 ON SELECTION BAR 1 OF _0 xg1eevn6 do form ajsxhcqdj ON SELECTION BAR 2 OF _0 xg1eevn6 do form axmcqdj ON SELECTION BAR 3 OF _0 xg1eevn6 do form ajycqdj ON SELECTION BAR 4 O
23、F _0 xg1eevn6 do form abjcqdj DEFINE POPUP _0 xg1eijc4 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0 xg1eijc4 PROMPT 图书档案维护 DEFINE BAR 2 OF _0 xg1eijc4 PROMPT 读者档案维护 ON BAR 1 OF _0 xg1eijc4 ACTIVATE POPUP _0 xg1eivt0 ON BAR 2 OF _0 xg1eijc4 ACTIVATE POPUP _0 xg1elfhv DEFINE POPUP _0 xg1ei
24、vt0 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0 xg1eivt0 PROMPT 添加图书档案 DEFINE BAR 2 OF _0 xg1eivt0 PROMPT 修改图书档案 DEFINE BAR 3 OF _0 xg1eivt0 PROMPT 删除图书档案 DEFINE BAR 4 OF _0 xg1eivt0 PROMPT 清空记录 ON SELECTION BAR 1 OF _0 xg1eivt0 do form tjts ON SELECTION BAR 2 OF _0 xg1eivt0 do form syx
25、gtsh ON SELECTION BAR 3 OF _0 xg1eivt0 do form sysqtsh ON SELECTION BAR 4 OF _0 xg1eivt0;DO _0y40w84br;IN LOCFILE(TSGLXTTSGLXT,MPX;MPR|FXP;PRG,WHERE is TSGLXT?)DEFINE POPUP _0 xg1elfhv MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0 xg1elfhv PROMPT 添加读者档案 DEFINE BAR 2 OF _0 xg1elfhv PROMPT
26、修改读者档案 DEFINE BAR 3 OF _0 xg1elfhv PROMPT 删除读者档案 DEFINE BAR 4 OF _0 xg1elfhv PROMPT 清空记录 ON SELECTION BAR 1 OF _0 xg1elfhv do form tjdj ON SELECTION BAR 2 OF _0 xg1elfhv do form syxgdjh ON SELECTION BAR 3 OF _0 xg1elfhv do form sysqdjh ON SELECTION BAR 4 OF _0 xg1elfhv;DO _0y40w84bv;IN LOCFILE(TSGLX
27、TTSGLXT,MPX;MPR|FXP;PRG,WHERE is TSGLXT?)*_0Y40W84BG ON SELECTION BAR 3 OF POPUP 新菜单项 *Procedure Origin:*From Menu:TSGLXT.MPR,Record:19 *Called By:ON SELECTION BAR 3 OF POPUP 新菜单项 *Prompt:查询逾期还书读者 *Snippet:1 *PROCEDURE _0y40w84bg SELECT Dj.*,Js.借书日期,Ts.图书编号,Ts.书名,Ts.单价;FROM tsgl!dj INNER JOIN tsgl!j
28、s;INNER JOIN tsgl!ts;ON Js.图书编号=Ts.图书编号;ON Dj.借书证号=Js.借书证号;WHERE Js.借书日期 Js.还书日期;AND Js.借书日期 js.还书日期 messagebox(这本书借出未还!,0+48)thisform.text2.value=ELSE locate for 借书证号=thisform.text1.value if found()and date()-js.借书日期 30 messagebox(此人有书超期未还,不能借书!,0+64)else go bottom append blank replace js.借书证号 with
29、 thisform.text1.value,js.图书编号 with thisform.text2.value;js.借书日期 with thisform.text3.value messagebox(借书成功,0+64)thisform.text1.value=thisform.text2.value=endif endif ENDIF endif thisform.refresh Commnand2(取消).Click thisform.RELEASE 3、还书表单(hs.scx)程序:Form1.Init thisform.text3.value=date()Command1(确定).C
30、lick select dj locate for 借书证号=thisform.text1.value if found()=.f.messagebox(没有这个读者记录,请查证后重新输入!,0+64)thisform.text1.value=thisform.text1.setfocus ELSE select ts set delete on locate for 图书编号=thisform.text2.value if found()=.f.messagebox(没有这本书或这本书已归还了,请重新输入!,0+64)thisform.text2.value=thisform.text2.s
31、etfocus ELSE SELECT js locate for 借书证号=thisform.text1.value and 图书编号=thisform.text2.value if found()=.f.messagebox(此输入有误,请重新输入!,0+16)thisform.text1.value=thisform.text2.value=else replace 还书日期 with thisform.text3.value delete messagebox(还书成功,0+64)thisform.text1.value=thisform.text2.value=ENDIF ENDIF
32、 ENDIF thisform.refresh Command2(返回).Click thisform.release 4、系统查询模块:1)、按编号查询图书(cqts.scx)程序:Command1(确定).Click use ts locate for 图书编号=thisform.text1.value if found()=.t.thisform.text2.value=ts.图书编号 thisform.text3.value=ts.书名 thisform.text4.value=ts.作者 thisform.text5.value=ts.出版社 thisform.text6.value
33、=ts.单价 else messagebox(没有这个书名,请重新输入,0+64)thisform.text1.value=endif thisform.refresh Command2(取消).Click thisform.release 2)、按书名查询图书(asncqts.scx)Command1(确定).Click close all use ts locate for 书名=trim(sm)if not found()messagebox(经查询没有这个书名,请查证后再输入,0+32)else use ts sele all 图书编号,书名,作者,出版社,单价 from ts whe
34、re 书名=trim(sm)endif thisform.release Command2(返回).Click thisform.release 3)、按作者查询图书表单(azzcqts.scx)程序:Command1(确定).Click close all use ts locate for 作者=trim(au)if not found()messagebox(经查询没有这个作者的书,请查证后再输入,0+32)else use ts sele all 图书编号,书名,作者,出版社,单价 from ts where 作者=trim(au)endif thisform.release Comm
35、and2.(返回).Click thisform.release 4)、按出版社查询(acbscqts.scx)程序:Command1(确定).Click close all use ts locate for 出版社=trim(pu)if not found()messagebox(经查询没有这个出版社的书,请查证后再输入,0+32)else use ts sele all 图书编号,书名,作者,出版社,单价 from ts where 出版社=trim(pu)endif thisform.release Command2(返回).Click thisform.release 5)、按借书证
36、号查询读者(ajsxhcqdj.scx)程序:Command1(确定).Click use dj locate for 借书证号=thisform.text1.value if found()=.f.messagebox(没有这个记录,请查证后重新输入,0+64)thisform.text1.value=thisform.text1.setfocus else thisform.text2.value=借书证号 thisform.text3.value=姓名 thisform.text4.value=性别 thisform.text5.value=专业 thisform.text6.value
37、=班级 thisform.refresh endif Command2(取消).Click thisform.release 6)、按姓名查询读者(axmcqdj.scx)程序:Command1(确定).Click close all use dj locate for 姓名=trim(xm)if not found()messagebox(经查询没有这个姓名,请查证后再输入,0+32)else use dj sele all 借书证号,姓名,性别,专业,班级 from dj where 姓名=trim(xm)endif thisform.release Command2(取消).Click
38、thisform.release 7)、按专业查询读者(azycqdj.scx)表单 程序:Command1(确定).Click close all use dj locate for 专业=trim(jy)if not found()messagebox(经查询没有这个专业的学生,请查证后再输入,0+32)thisform.text1.value=thisform.text1.gotfocus else use dj sele all 借书证号,姓名,性别,专业,班级 from dj where 专业=trim(jy)thisform.release endif Command2(返回).C
39、lick thisform.release 8)、按班级查询读者表单(abjcqdj.scx)程序:Command1(确定).Click close all use dj locate for 班级=trim(bj)if not found()messagebox(经查询没有这个班级的学生,请查证后再输入,0+32)thisform.text1.value=thisform.text1.gotfocus else use dj sele all 借书证号,姓名,性别,专业,班级 from dj where 班级=trim(bj)thisform.release endif Command2(返
40、回).Click thisform.release 5、系统维护模块 1)、添加图书档案表单(tjts.scx)程序:Command1(添加).Click close all use ts if mand1.caption=添加 go bottom append blank mand1.caption=保存 mand2.caption=放弃 else locate for 图书编号=thisform.text1.value if found()=.t.messagebox(书号已存在,请重新输入!,0+64,信息)thisform.text1.value=else go bottom repl
41、ace 图书编号 with thisform.text1.value,书名 with thisform.text2.value;作者 with thisform.text3.value,出版社 with thisform.text4.value;单价 with thisform.text5.value thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thisform.text5.value=mand1.caption=添加 mand2.caption=关闭 thisform.
42、text1.setfocus endif endif thisform.refresh Command2(关闭).Click if mand2.caption=关闭 thisform.release else if mand1.caption=保存 delete pack thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thisform.text5.value=mand1.caption=添加 mand2.caption=关闭 thisform.text1.setfocus
43、endif thisform.refresh endif 2)、修改图书模块 (1)、输入修改图书号表单(syxgtsh.scx)程序:Text1.lostfocus public jszh jszh=thisform.text1.value Command1(确定).Click close all use ts locate for 图书编号=trim(tsbh)if not found()messagebox(经查询没有这个记录,请查证后再输入,0+32)thisform.text1.value=thisform.text1.gotfocus else do form xgtsda thi
44、sform.release endif Command2(取消).Click thisform.release (2)修改图书档案表单(xgtsda.scx)程序:Form1.Init close all use ts locate for 图书编号=trim(tsbh)thisform.text1.value=图书编号 thisform.text2.value=书名 thisform.text3.value=作者 thisform.text4.value=出版社 thisform.text5.value=单价 thisform.refresh Command1(修改).Click close
45、 all use js locate for 图书编号=trim(tsbh)if found()and js.借书日期 js.还书日期 messagebox(这本书借出未还,不能修改!,0+16,警告)else close all use ts locate for 图书编号=trim(tsbh)private i i=messagebox(真的要修改这名读者吗?,4+32,警告)if i=6 replace 图书编号 with thisform.text1.value,书名 with thisform.text2.value;作者 with thisform.text3.value,出版社
46、with thisform.text4.value;单价 with thisform.text5.value messagebox(成功修改该记录!,0+64,信息)endif thisform.release endif Command2(关闭).Click thisform.release 3)、删除图书档案 (1)、输入删除图书号表单(syxqtsh.scx)程序:Text1.lostfocus public tsh tsh=thisform.text1.value Command1(确定).Click close all use ts locate for 图书编号=trim(tsh)
47、if not found()messagebox(经查询没有这个学生,请查证后再输入,0+32)thisform.text1.value=thisform.text1.gotfocus else do form sqtsda thisform.release endif Command2(返回).Click thisform.release (2)、删除图书档案表单(sytsda.scx)程序:Form1.Init close all use ts locate for 图书编号=trim(tsh)thisform.text1.value=图书编号 thisform.text2.value=书
48、名 thisform.text3.value=作者 thisform.text4.value=出版社 thisform.text5.value=单价 thisform.refresh Command1(删除).Click close all use js locate for 图书编号=trim(tsh)if found()and js.借书日期 js.还书日期 messagebox(这本书借出未还,不能删除!,0+16,警告)else close all use ts locate for 图书编号=trim(tsh)private i i=messagebox(真的要删除这个记录吗?,4+
49、32,警告)if i=6 delete pack messagebox(成功删除了该记录!,0+64,信息)thisform.release endif endif Command2(关闭).Click thisform.release 4)、清空图书档案程 use ts zap 5)、添加读者档案表单(tjdj.scx)程序:Command1(添加).Click close all use dj if mand1.caption=添加 go bottom append blank mand1.caption=保存 mand2.caption=放弃 else locate for 借书证号=t
50、hisform.text1.value if found()=.t.messagebox(借书证号已存在,请重新输入!,0+64,信息)thisform.text1.value=else go bottom replace 借书证号 with thisform.text1.value,姓名 with thisform.text2.value;性别 with thisform.text3.value,专业 with thisform.text4.value;班级 with thisform.text5.value thisform.text1.value=thisform.text2.value