VB课程设计报告题目:图书馆管理系统指导老师:吴志强老师班级:10410111学号:1041011104姓名:黄流华时间:2011年12月20日目录1、课程设计目的2、课程设计题目3、课程设计要求4、课程设计说明5、源代码6、运行结果7、课程设计体会1、课程设计目的课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的VB理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高用VB编程实现具体问题的能力。2、课程设计题目图书馆管理系统3、课程设计要求:用户登陆、图书的借阅和归回、图书信息的添加、修改、查询和删除操作。4、课程设计说明根据对我院图书馆及图书信息进行的调查和分析,图书管理系统应该具有以下功能:系统管理(即登录)、图书管理、还书和借书操作。各个功能模块如下:a、系统管理模块在这个模块,可以进行登录和退出等操作。b、图书管理模块在这个模块,可以进行增加、删除、修改、查找、上一个和下一个。C、还书和借书模块在这个模块,可以完成借书、还书操作。d、报表模块图书馆管理系统5、图书管理信息系统的数据库设计系统数据库名为Data,数据库中包括(1)图书信息表;(2)借出图书信息表;(3)归还图书信息表1、图书信息表的数据结构字段名类型大小空值描述IDint4ID图书编号nvarchar10y图书编号书名nvarchar30y书名价格real4y价格出版社nvarchar30y出版社借出日期smalldatetime4y借出日期是否借出bit1y是否借出类别nvarchar10类别2、借出图书信息表字段名类型大小空值描述输入借出图书编号nvarchar10y输入借出图书编号图书编号nvarchar10y图书编号价格real4y价格类别nvarchar10类别书名nvarchar30y书名出版社nvarchar30出版社今天日期smalldatetime4y今天日期3、归还图书信息表字段名类型大小空值描述图书编号nvarchar10y图书编号书名nvarchar30y书名价格real4y价格出版社nvarchar30y出版社借出日期smalldatetime4y借出日期类别nvarchar10类别借出天数smalldatetime2y借出天数限定天数Text4y限定天数超出天数Text4y超出天数罚款金额Text5y罚款金额今天日期Text5y今天日期输入要还的图书编号nvarchar10y输入要还的图书编号6、源代码(1)a、系统管理(即登录源代码)PublicSubCommand1_Click()IfText1.Text=ThenMsgBox请输入正确的用户名,11,错误信息ElseIfText2.Text=ThenMsgBox请输入正确的密码,11,错误信息EndIfIfText1.Text=huangAndText2.Text=13684843673ThenLoadform2form2.Show1UnloadForm1ElseMsgBox用户名或密码错误,11,错误信息EndIfEndSubb、登录界面(2)a、图书管理模块源代码Publicmsg'定义过程级变量PrivateSubCmd_Del_Click()DimareturnAsIntegerareturn=MsgBox(你确定要删除记录吗?,vbYesNo)Ifareturn=vbYesThenData1.Recordset.DeleteData1.Recordset.MoveNextIfData1.Recordset.EOFThenData1.Recordset.MoveLastEndIfEndIfEndSubPrivateSubCmd_Fnd_Click()msg=InputBox(请输入准确的图书编号,查找记录)Data1.Recordset.FindFirst图书编号='&msg&'IfData1.Recordset.NoMatchThenMsgBox没有符合条件的图书!ElseMsgBox符合条件的图书为&Data1.Recordset.Field(1)EndIfEndSubPrivateSubCmd_Ins_Click()vb_msg=MsgBox(请输入,vbOKCancel)Ifvb_msg=vbCancelThenExitSubEndIfData1.Recordset.AddNewData1.Recordset.Fields(TD)=Val(Text1.Text)Data1.Recordset.Fields(图书编号)=Text2.TextData1.Recordset.Fields(书名)=Text3.TextData1.Recordset.Fields(价格)=Val(Text4.Text)Data1.Recordset.Fields(出版社)=Text5.TextData1.Recordset.Fields(借出日期)=Text6.TextData1.Recordset.Fields(是否借出)=Text7.TextData1.Recordset.Fields(类别)=Text8.TextEndSubPrivateSubCmd_Nxt_Click()Data1.Recordset.MoveNextIfData1.Recordset.EOFThenData1.Recordset.MoveLastMsgBox(已经是最后一条记录了!)EndIfEndSubPrivateSubCmd_Pre_Click()Data1.Recordset.MovePreviousIfData1.Recordset.BOFThenData1.Recordset.MoveFirstMsgBox(已经是第一条记录了!)EndIfEndSubPrivateSubCmd_Upd_Click()DimareturnAsIntegerareturn=MsgBox(你确定要修改记录吗?,vbYesNo)Ifareturn=vbYesThenData1.Recordset.EditData1.Recordset.Fields(TD)=Val(Text1.Text)Data1.Recordset.Fields(图书编号)=Text2.TextData1.Recordset.Fields(书名)=Text3.TextData1.Recordset.Fields(价格)=Val(Text4.Text)Data1.Recordset.Fields(出版社)=Text5.TextData1.Recordset.Fields(借出日期)=Text6.TextData1.Recordset.Fields(是否借出)=Text7.TextData1.Recordset.Fields(类别)=Text8.TextData1.Recordset.UpdateEndIfEndSubb、图书管理模块界面C、当单击“删除”或“修改”按钮时,程序中使用了MsgBox,弹出类似如图示的对话框来要求用户确认(3)a、借书模块源代码PublicindexAsIntegerPrivateSubcmdokcancel_Click()SelectCaseindexCase1Ifrst3.Fields(是否借出)+TrueThenMsgBox此书已经借出!,0+48,提示txtbookbian.Text=txtbookbian.SetFocusframe4.Visible=Falseframe7.Visible=TrueExitSubEndIfrst2.AddNewrst2.Fields(图书编号)=rst3.Fields(图书编号)rst2.Fields(书名)=rst3.Fields(书名)rst2.Fields(价格)=rst3.Fields(价格)rst2.Fields(出版社)=rst3.Fields(出版社)rst2.Fields(类别)=rst3.Fields(类别)rst2.Fields(姓名)=txtname.Textrst2.Fields(借出日期)=rst3.Fields(借出日期)rst2.Fields(借书证号)=bookidrst2.Updaterst3.Editrst3.Fields(是否借出)=Truerst3.Fields(借出日期)=rst3.Fields(借出日期)rst3.UpdateDataReftxtbookbian.Text=txtbookbian.SetFocus'cmdlogin.setfocusframe4.Visible=Falseframe7.Visible=TrueEndSelectEndSubPublickeyasciiAsIntegerPrivateSubtxtbookbian_keypress_Click()Ifkeyascii2=13ThenIftxtbookid.Text=ThenMsgBox请先登录!,0+48,提示cmdlogin.SetFocustxtbookbian.Text=ExitSubEndIfrst3.Seek=,txtbookbian.TextIfrst3.NoMatchThenMsgBox没有此图书编号,请重新填写,0+48,填写错误txtbookbian.SetFocusframe4.Visible=Falseframe7.Visible=TrueExitSubEndIfframe4.Visible=Trueframe7.Visible=Truetxtbookhao.Text=txtbookbian.Texttxtbookname.Text=rst3.Fields(书名)&vbNullStringtxtchuban.Text=rst3.Fields(出版社)&vbNullStringtxtcost.Text=rst3.Fields(价格)&Emptytxtlentdate.Text=rst3.Fields(借出日期)&vbNullStringtxttype.Text=rst3.Fields(类别)&vbNullStringEndIfEndSubb、借出图书界面(4)a、归还图书源代码PublicindexAsIntegerPrivateSubcmdokcancel_Click()SelectCaseindexCase1rst2.Seek=,txtbookbian1.TextIfrst2.nomathThenMsgBox没有借过这本书!是不是编号错了?,0+48,提示txtbookbian1.Text=txtbookbian1.SetFocusframe6.Visible=Falsecmdokcance1.Visible=FalseExitSubIfrst3.Fields(是否借出)=FalseThenMsgBox此书还没有借出,0+48,提示ExitSubEndIfrst1.Seek=,rst2.Fields(借书证号)rst1.Edit'奖罚款金额写入数据库中rst1.Fields(罚款)=Val(txtfa.Text)+rst1.Fields(罚款)rst1.UpdateIftxtfa.Text0ThenMsgBox罚款金额已经写入数据库!,0+48,提示EndIfrst2.Deleterst3.Editrst3.Fields(是否借出)=Falserst3.Fields(借出日期)=Emptyrst3.Updatetxtbookbian1.Text=txtbookbian1.SetFocusframe6.Visible=Falsecmdokcancel.Visible=FalseMsgBox还书成功!按回车键继续,0+48,完毕EndIfEndSelectEndSubPublickeyasciiAsIntegerPrivateSubtxtbookbian1_keypress_Click()Ifkeyascii=13Thenrst3.Seek=,txtbookbian1.TextIfrst