课程设计报告
nyear=year(date()) nmonth=month(date()) nday=day(date()) nmonth=nmonth+ndate if nmonth>12
nyear=nyear+1 nmonth=nmonth-12 endif
ddate=date(nyear,nmonth,nday)
insert into lenddata (条码,证号,库室,借期,还期) ; values
(cCode,alltrim(thisform.txtnum.text),cRoom,date(),ddate) endif
*刷新读者借书清单,执行查询获得读者借阅图书数据 cnum=alltrim(thisform.txtnum.text)
select lenddata.条码,书名,索书号,库室,借期,还期 from lenddata,storebibli ;
where lenddata.条码==storebibli.条码 and alltrim(lenddata.证号)==cnum and ;
lenddata.库室==storebibli.库室名; into cursor tempCursor *显示读者个人借书清单
thisform.txtLended.value=reccount() thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource='tempCursor'
*根据读者借阅图书册数是否达到借书数量限制禁用或启用借书按钮 if thisform.txtsum.value=thisform.txtlended.value thisform.cmdlend.enabled=.F. else
thisform.cmdlend.enabled=.T. endif
*修改馆藏图书记录的可借数
update storebibli set 可借数=可借数-1;
where alltrim(条码)==cCode and alltrim(库室名)=cRoom “续借”按纽
*检查是否输入了图书条码
if empty(thisform.txtcode.text)
messagebox(\请输入图书条码\图书借阅管理\
第25页 共35页
课程设计报告
thisform.txtcode.setfocus return endif
*检查读者是否已经借阅了该条码图书 cCode=alltrim(thisform.txtcode.text) select tempCursor
locate for alltrim(条码)==cCode if not found()
messagebox(\读者没有借阅<\条码图书\图书借阅管理\
thisform.txtcode.setfocus return endif
*修改该条码对应的借书记录
ndate=val(thisform.txtlenddate.text) if ndate=0
update lenddata set 借期=date(); where alltrim(条码)==cCode else
nyear=year(date()) nmonth=month(date()) nday=day(date()) nmonth=nmonth+ndate if nmonth>12
nyear=nyear+1 nmonth=nmonth-12 endif
ddate=date(nyear,nmonth,nday)
update lenddata set 借期=date(),还期=ddate; where alltrim(条码)==cCode endif
*刷新读者借书清单,执行查询获得读者借阅图书数据 cnum=alltrim(thisform.txtnum.text)
select lenddata.条码,书名,索书号,库室,借期,还期 from lenddata,storebibli ;
where lenddata.条码==storebibli.条码 and alltrim(lenddata.证号)==cnum and ;
lenddata.库室==storebibli.库室名;
第26页 共35页
课程设计报告
into cursor tempCursor *显示读者个人借书清单
thisform.txtLended.value=reccount() thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource='tempCursor'
*根据读者借阅图书册数是否达到借书数量限制禁用或启用借书按钮 if thisform.txtsum.value=thisform.txtlended.value thisform.cmdlend.enabled=.F. else
thisform.cmdlend.enabled=.T. endif
“还书”按纽
*检查是否输入了图书条码
if empty(thisform.txtcode.text)
messagebox(\请输入图书条码\图书借阅管理\ thisform.txtcode.setfocus return endif
*检查读者是否借阅了该条码图书
cnum=alltrim(thisform.txtnum.text) cCode=alltrim(thisform.txtcode.text) select tempCursor
locate for alltrim(条码)==cCode if not found()
messagebox(\读者没有借阅<\条码图书\图书借阅管理\
thisform.txtcode.setfocus return endif
*删除读者该条码图书借书记录 select lenddata
delete all for alltrim(条码)==cCode and alltrim(证号)==cnum pack
*刷新读者借书清单,执行查询获得读者借阅图书数据
select lenddata.条码,书名,索书号,库室,借期,还期 from lenddata,storebibli ;
where lenddata.条码==storebibli.条码 and alltrim(lenddata.证号)==cnum and ;
第27页 共35页
课程设计报告
lenddata.库室==storebibli.库室名; into cursor tempCursor *显示读者个人借书清单
thisform.txtLended.value=reccount() thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource='tempCursor' thisform.cmdlend.enabled=.T. *修改馆藏图书记录的可借数 cRoom=thisform.cmbroom.value
update storebibli set 可借数=可借数+1;
where alltrim(条码)==cCode and alltrim(库室名)=cRoom “清除”按纽
thisform.txtnum.value=\thisform.txtname.value=\thisform.txtdept.value=\thisform.txtoutdate.value=\thisform.txtcode.value=\
thisform.txtlenddate.value=\thisform.txttype.value=\thisform.txtsum.value=\thisform.txtlended.value=\thisform.grid1.recordsource=\“关闭”按纽
if messagebox(\是否退出图书借阅管理?\图书借阅管理\ thisform.release &&关闭图书借阅管理表单 endif
五、系统实施
1.选择的开发平台
硬件平台是开发与运行系统所需要的硬件环境,由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高。我选择的是DDR256M、60G硬盘内存的普通微机。
软件平台是指系统开发与运行的软件环境。我在开发时选用了稳定性较强的
第28页 共35页
课程设计报告
Windows XP中文专业版和VF6.0作为开发语言用于数据库设计。 由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。VF6.0具有可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,使得可以轻松方便的对数据库管理 2.系统测试
实际开发过程中不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将会造成难以想像的后果,因此系统测试是MIS开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占MIS开发总工作量的40%以上。因此,我们必须重视测试工作。
我在开发本系统时,为了使系统能够稳定运行,对本系统进行了有针对性的全面测试,采取的方式是:
(1)分调:在“登陆界面”文本框中输入“用户名”,例002,然后输入密码,该界面从其他相应的文本框中能够显示出相应的信息,系统是可以正常运行的。为了保证每一项菜单能够正确实现系统设计的功能,我把相关的基础数据,基本上全部输入到本系统中,并对每一个菜单项进行了增加、删除、修改等操作,从而保证了菜单级功能的正确实现。
(2)数据跟踪:我完成菜单项测试后,我又对系统内的每一个数据进行了跟踪。
(3)总调:我在以上测试的基础上对系统功能进行了整体的测试,依次来检验系统功能是否符合系统设计的要求。
在具体的测试中,我认为应当遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检验程序是否实现预期功能,还应检
第29页 共35页