图书管理系统实例.docx
《图书管理系统实例.docx》由会员分享,可在线阅读,更多相关《图书管理系统实例.docx(11页珍藏版)》请在冰豆网上搜索。
图书管理系统实例
新疆大学电气工程学院
课程设计
(图书馆图书管理系统)
指导老师:
李振恩
班级:
能动141
姓名:
何照云
学号:
20142106218
2014年12月19日图书管理系统实例
一、系统简介
1、本图书管理系统,包含了对图书、作者、读者等基本信息的管理,也包含了借书信息,还书信息等的查询,和管理。
本系统具有如下功能:
能够修改、输入、查询、与图书有关的信息,如图书信息、读者信息、作者信息、图书借阅信息等:
能打印图书信息,图书借阅信息等
2,本系统的总体结构设计树状图。
二,具体操作步骤。
1,数据库设计
(1)创建三个自由表,各自由表的字段值如下。
表名
字段1
字段2
字段3
字段4
字段5
字段6
字段7
字段8
字段9
books
isbn
书名
作者
出版社
单价
购买日期
借阅状态
类别
简介
User1
用户名
密码
jiebooks
Read编号
书名
readpeopie
编号
班级
姓名
性别
权限
(2)创建一个数据库,并把三个表添加到数据库中,建立索引和关联。
2.界面设计
(1)系统启动表单在数据库中创建一个表单,命名为登录界面。
添加一个标签控件,两个命令按钮
按照自己的喜好分别设置他们的属性。
在确定按钮的Click事件下写入如下代码:
seleuser1
locateforallt(thisform.Text1.value)==allt(用户名)
iffound()
ifallt(thisform.Text2.value)==allt(密码)
messagebox("登陆成功!
",0+64,"恭喜")
do主界面.mpr
thisform.release
else
messagebox("密码错误!
请检查后重新输入!
",0+64,"错误")
thisform.Text2.value=""
thisform.Text2.setfocus
endif
else
messagebox("该用户不存在,请检查您的用户名!
",0+64,"错误")
endif
双击退出按钮,并在它的Click事件写下如下代码:
quit
(2)创建主表单创建一个表单保存为“主表单”并且设置它的ShowWindows属性为“2——作为顶层表单”如图设置它的其他控件属性。
(3)其菜单控件分别为图书管理,读者,读者借还书,打印,退出,图书管理下设子菜单三个,分别为删除,修改,查询,并且在他们之下分别设查询条件。
(4)创建一个表单为读者查询,并且在表单中插入一个确定按钮和六个按钮组分别为首页,上一页,下一页,尾记录,修改,退出。
在确定按钮组的click事件下编写如下程序
ifselect("readpeople")=0&&检查数据表是否打开
messagebox("数据表readpeople不存在,请检查后再试!
",0+16,"警告")
else
selecjieboos
gotop
q2=""
dowhile.not.eof()
ifallt(read编号)==allt(thisform.Combo1.value)
q2=q2+书名
endif
skip
enddo
gotop
selectreadpeople&&选取account表
locateforallt(thisform.Combo1.value)==allt(编号)
iffound()
thisform.Text1.value=班级
thisform.Text2.value=姓名
thisform.Text3.value=学号
thisform.Text4.value=姓别
thisform.Text5.value=权限
thisform.text6.value=q2
endif
endif
&&THISFORM.combo1.ADDITEM(temp.学号)
skip
ifeof()
thisform.Command4.enabled=.F.
thisform.Command3.enabled=.T.
else
skip-2
ifbof()
thisform.Command3.enabled=.F.
thisform.Command4.enabled=.T.
else
thisform.Command4.enabled=.T.
thisform.Command3.enabled=.T.
endif
endif
在按钮组中的首页click下写如下程序。
gotop
thisform.Text1.value=班级
thisform.Text2.value=姓名
thisform.Text3.value=学号
thisform.Text4.value=姓别
thisform.Text5.value=权限
thisform.Combo1.value=编号
selecjieboos
q2=""
dowhile.not.eof()
ifallt(read编号)==allt(thisform.Combo1.value)
q2=q2+书名
endif
skip
enddo
thisform.text6.value=q2
gotop
selereadpeople
thisform.Command3.enabled=.F.
thisform.Command4.enabled=.T.
在按钮组中的上一页click下写如下程序。
if!
bof()
skip-1
thisform.Text1.value=班级
thisform.Text2.value=姓名
thisform.Text3.value=学号
thisform.Text4.value=姓别
thisform.Text5.value=权限
thisform.Combo1.value=编号
t=recno()
selecjieboos
gotop
q2=""
dowhile.not.eof()
ifallt(read编号)==allt(thisform.Combo1.value)
q2=q2+书名
endif
skip
enddo
thisform.text6.value=q2
selereadpeople
got
ifbof()
thisform.Command3.enabled=.F.
endif
endif
ifeof()
thisform.Command4.enabled=.F.
else
thisform.Command4.enabled=.T.
endif
在按钮组中的下一页click下写如下程序
if!
eof()
skip
thisform.Text1.value=班级
thisform.Text2.value=姓名
thisform.Text3.value=学号
thisform.Text4.value=姓别
thisform.Text5.value=权限
thisform.Combo1.value=编号
t=recno()
selecjieboos
gotop
q2=""
dowhile.not.eof()
ifallt(read编号)==allt(thisform.Combo1.value)
q2=q2+书名
endif
skip
enddo
thisform.text6.value=q2
selereadpeople
got
else
thisform.Command4.enabled=.F.
endif
ifbof()
thisform.Command3.enabled=.F.
else
thisform.Command3.enabled=.T.
endif
在按钮组中的尾记录click下写如下程序
selereadpeople
gobottom
thisform.Text1.value=班级
thisform.Text2.value=姓名
thisform.Text3.value=学号
thisform.Text4.value=姓别
thisform.Text5.value=权限
thisform.Combo1.value=编号
selecjieboos
gotop
q2=""
dowhile.not.eof()
ifallt(read编号)==allt(thisform.Combo1.value)
q2=q2+书名
endif
skip
enddo
thisform.text6.value=q2
gobottom
selecreadpeople
thisform.Command4.enabled=.F.
thisform.Command3.enabled=.T.
在按钮组中的退出click下写如下程序
thisform.release
(5)创建一个表单为报表显示,并且在表单中插入三个命令按钮分别为按书名,按isbn,读者显示
在按书名的click事件下写如下程序
reportform按书名
在按isbn的click事件下写如下程序
reportform按isbn
在读者显示的click事件下写如下程序
reportformreadperson
(6)创建一个查询-按isbn的表单并且在其按钮确定下写如下程序
ifselect("books")=0&&检查数据表是否打开
messagebox("数据表books不存在,请检查后再试!
",0+16,"警告")
else
selectbooks&&选取account表
&&setordertoUID&&设置username为控制索引
locateforallt(thisform.Combo1.value)==allt(isbn)&&按索引查找当前所选user相关记录seek
iffound()
thisform.Text1.value=书名
thisform.Text2.value=出版社
thisform.Text3.value=类别
thisform.Text4.value=简介
thisform.Text5.value=作者
thisform.Text6.value=单价
thisform.Text7.value=购买日期
thisform.Text8.value=借阅状态
endif
endif
&&THISFORM.combo1.ADDITEM(temp.学号)
(3)创建其他表单,分别创建询借还书,删除,修改,查询-按书名,查询-按任意条件等。
(4)创建一个主界面。
3、连编程序
三、总结
在做图书管理系统的过程中翻阅书籍,查阅资料,询问同学中学了很多,也懂了很多。
系统做得不是那么完善,还有待学习和加强,希望老师指教。
冉旭东
20142106206
指导老师:
李振恩
2015-12-4