本文主要为广大网友提供“基于PB的图书管理系统”,希望对需要基于PB的图书管理系统网友有所帮助,学习一下!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
1. 借阅管理 该部分的功能是实现会员的信息查看及图书的信息查看,包括查看图书的库存是否为空,读者是的借阅证是否被锁定能否借书,如果库存不为零而读者的卡号没锁定那么读者可以完成借书的功能,读者也可以进行还书,对于超过60天还书的要进行卡号锁定,也就是说每位读者借书的最长时间为60天,这样可以更好的资源共享,可以更好的让资源流通。 (1)显示信息按纽是对输入会员或是图书编号的相关信息进行代码如下 //启动数据窗体连接事务 if sle_2.text="" then //显示该会员的借书记录 dw_1.settransobject(sqlca) dw_1.setfilter("会员编号=''"+trim(sle_1.text)+"''") dw_1.retrieve() dw_2.settransobject(sqlca) dw_2.setfilter("会员编号=''"+trim(sle_1.text)+"''") dw_2.retrieve() dw_3.settransobject(sqlca) dw_3.setfilter("图书编号=''"+trim(sle_2.text)+"''" ) dw_3.retrieve() else if sle_1.text="" then //显示该书的借阅记录 dw_1.settransobject(sqlca) dw_1.setfilter("会员编号=''"+trim(sle_1.text)+"''") dw_1.retrieve() dw_2.settransobject(sqlca) dw_2.setfilter("图书编号=''"+trim(sle_2.text)+"''") dw_2.retrieve() dw_3.settransobject(sqlca) dw_3.setfilter("图书编号=''"+trim(sle_2.text)+"''" ) dw_3.retrieve() else //显示特定会员和图书的借阅记录 dw_1.settransobject(sqlca) dw_1.setfilter("会员编号=''"+trim(sle_1.text)+"''") dw_1.retrieve() dw_2.settransobject(sqlca) dw_2.setfilter("会员编号=''"+trim(sle_1.text)+"'' and 图书编号=''"+trim(sle_2.text)+"''") dw_2.retrieve() dw_3.settransobject(sqlca) dw_3.setfilter("图书编号=''"+trim(sle_2.text)+"''" ) dw_3.retrieve() end if end if (2)借书按纽的代码如下 //显示特定会员和图书的借阅记录 //显示特定会员和图书的借阅记录 dw_1.settransobject(sqlca) dw_1.setfilter("会员编号=''"+trim(sle_1.text)+"''") dw_1.retrieve() dw_2.settransobject(sqlca) dw_2.setfilter("会员编号=''"+trim(sle_1.text)+"'' and 图书编号=''"+trim(sle_2.text)+"''") dw_2.retrieve() dw_3.settransobject(sqlca) dw_3.setfilter("图书编号=''"+trim(sle_2.text)+"''" ) dw_3.retrieve() //得到记录的总行书 int m,n,i //得到借书记录总行数和图书当前行号 if dw_1.retrieve()=1 and dw_3.retrieve()=1 then i=dw_1.getrow() m=dw_2.rowcount() n=dw_3.getrow() if dw_3.object.库存[n]>0 and dw_1.object.锁定[i]="否" then //插入借书记录 dw_2.insertrow(m+1) dw_2.scrolltorow(m+1) dw_2.object.会员编号[m+1]=sle_1.text dw_2.object.图书编号[m+1]=sle_2.text dw_2.object.借书日期[m+1]= string(today()) dw_2.object.备注[m+1]= "未归还" //库存减1 dw_3.object.库存[n]=dw_3.object.库存[n]-1 //更新数据库 if dw_2.update()=1 and dw_3.update()=1 then commit; messagebox("成功!","更新数据库成功!") else rollback; messagebox("失败!","更新数据库失败!") end if else //提示用户不能借书的原因 messagebox("错误!","库存不足或您的卡号被锁定,会员或图书不存在,无法借阅!",exclamation!,ok!,2) end if end if (3)还书的代码 //显示特定会员和图书的借阅记录 dw_1.settransobject(sqlca) dw_1.setfilter("会员编号=''"+trim(sle_1.text)+"''") dw_1.retrieve() dw_2.settransobject(sqlca) dw_2.setfilter("会员编号=''"+trim(sle_1.text)+"'' and 图书编号=''"+trim(sle_2.text)+"'' and 备注=''未归还''") dw_2.retrieve() dw_3.settransobject(sqlca) dw_3.setfilter("图书编号=''"+trim(sle_2.text)+"''" ) dw_3.retrieve() //判断哪一行为还书记录 int n n=dw_2.rowcount() if dw_2.retrieve()=1 or n>1 then //找到还书记录后修改记录 dw_2.object.还书日期[n]= string(today()) dw_2.object.备注[n]= "已归还" //将会员还的书库存加1 int m m=dw_3.getrow() dw_3.object.库存[m]=dw_3.object.库存[m]+1 //判断会员是所借图书是否超期超期 if int(daysafter(date(dw_2.object.借书日期[n]),date(dw_2.object.还书日期[n])))>60 then int q q=dw_1.getrow() dw_1.object.锁定[q]="是" messagebox("超期!","图书已还,所借图书已经超期,卡号被锁定!",exclamation!,ok!,2) dw_2.object.备注[n]= "已归还,超期" end if //更新数据库 if dw_1.update()=1 and dw_2.update()=1 and dw_3.update()=1 then commit; messagebox("成功!","更新数据库成功!") else rollback; messagebox("失败!","更新数据库失败!") end if else messagebox("错误!","没有借书记录!",exclamation!,ok!,2) end if 2.信息查询 为了方便读者查询和获取书刊,系统开发了强大的查询功能,包括读者查询、图书查询等。如会员查询可以在编辑框内输入会员编号按照查询方式还可以进行精确查询或选择模糊查询,在按下检索信息相关的会员信息就会显示出来。 检索信息的代码如下 //判断是查书的还是查会员的 if rb_1.checked = true then dw_1.dataobject="huiyuanwg" dw_1.settransobject(sqlca) //取消所有过滤条件 dw_1.setfilter("") if rb_4.checked=true then //精确查询模式程序 choose case ddlb_1.text case "会员编号" dw_1.setfilter("会员编号=''"+sle_1.text+"''") case "姓名" dw_1.setfilter("姓名=''"+sle_1.text+"''") case "家庭地址" dw_1.setfilter("家庭地址=''"+sle_1.text+"''") end choose else //模糊查询模式程序 choose case ddlb_1.text case "会员编号" dw_1.setfilter("会员编号 like"+"''%"+sle_1.text+"%''") case "姓名" dw_1.setfilter("姓名 like"+"''%"+sle_1.text+"%''") case "家庭地址" dw_1.setfilter("家庭地址 like"+"''%"+sle_1.text+"%''") end choose end if else dw_1.dataobject="tushuwg" dw_1.settransobject(sqlca) //取消所有过滤条件 dw_1.setfilter("") if rb_4.checked=true then //精确查询模式程序 choose case ddlb_2.text case "图书编号" dw_1.setfilter("图书编号=''"+sle_1.text+"''") case "书名" dw_1.setfilter("书名=''"+sle_1.text+"''") case "作者" dw_1.setfilter("作者=''"+sle_1.text+"''") case "出版社" dw_1.setfilter("出版社=''"+sle_1.text+"''") case "isbn" dw_1.setfilter("isbn=''"+sle_1.text+"''") end choose else //模糊查询模式程序 choose case ddlb_2.text case "图书编号" dw_1.setfilter("图书编号 like"+"''%"+sle_1.text+"%''") case "书名" dw_1.setfilter("书名 like"+"''%"+sle_1.text+"%''") case "作者" dw_1.setfilter("作者 like"+"''%"+sle_1.text+"%''") case "出版社" dw_1.setfilter("出版社 like"+"''%"+sle_1.text+"%''") case "isbn" dw_1.setfilter("isbn like"+"''%"+sle_1.text+"%''") end choose end if end if dw_1.retrieve() //检索数据
|
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |