欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库实验报告图书管理系统.docx

    • 资源ID:56411303       资源大小:2.47MB        全文页数:19页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库实验报告图书管理系统.docx

    图书馆管理系统的设计一、实验背景:在数据库应用系统的编程中,管理人员需要经常从数据库中查询数据。复杂组合查询,特别是多种数据类型的复杂条件动态组合查询是一个设计难度大,但很能方便用户的功能模块,在系统开发时要尽量满足用户的需要,就必须考虑多类型-多条件综合模糊查询功能,提高应用系统的智能性。消费者在选择市场产品时往往面临数据量大、删选难、数据不全面等问题,多类型-多条件综合模糊查询正式基于此设计的。二、实验内容:以SQL SERVER2008为后台数据库,以Visual Basic为前台开发工具,完成一个以人事管理系统为实例或结合相关专业方向的查询界面友好的多类型-多条件综合模糊查询应用模块的设计与开发,以满足用户复杂查询的需求,具体内容包括:1)数据库概念结构和逻辑结构的设计;2)通过SQL语句创建数据库;3)设计通用模块;4)设计窗体,达到界面简洁,友好的要求;5)编写代码,使程序能正确执行;6)调试美化,提高查询效率。三、需求分析图书馆是这样的部门,馆中收藏大量图书供读者借阅,其中图书可分成不同的类别,如自然科学类、社会科学类等;借阅者可分为老师和学生。不同的借阅者最多可借书的数量和期限不同,如教师最多可借10本,期限为3个月,学生最多可借2本,期限为1个月,无论是老师还是学生,借阅超期都要进行罚款处理。以上就是图书管理系统所要完成的主要功能。四、概念结构设计经分析,本系统涉及到的实体只有读者和图书,二者之间存在借阅和罚款的联系,据此可画出此系统的E-R图。罚款金额读者借出日期 p m超期天数罚款借阅 处罚日期图书归还日期 q N 图书馆管理系统的E-R图其中读者与其属性关系,图书与其属性关系如下图读者类别读者姓名性别是否有超期借书证号 读者 读者实体与其属性书名条形码号作者图书编号出版社 图书借阅次数借阅状态类别出版日期 图书实体与其属性五、数据库表格(1) 图书表的结构(2) 读者表的结构(3) 借阅表的结构(4) 罚款表的结构(5) 密码表的结构六、用VB开发应用程序1配置数据源利用ODBC数据源管理器配置一个连接到“图书馆”数据库的数据源,名为“图书管理”。2设计各个窗体1) 设计MDI主窗体从主窗体中可以打开各个功能的窗口,其中图书馆管理系统的主窗体如下图2) 设计登陆窗体(1) 设计界面如下图(2) 编写程序Private Sub Command1_Click()Dim str As StringDim micount As Integerstr = "select 密码 from 密码表的结构 where 用户名='" & Text1.Text & " ' "Adodc1.RecordSource = strAdodc1.RefreshIf Adodc1.Recordset.EOF = True ThenMsgBox "用户名错误,请重新输入", vbExclamation, "警告"Text1.Text = ""Text1.SetFocusElseIf Adodc1.Recordset.Fields("密码") = Text2.Text ThenMDIForm1.ShowUnload MeElseMsgBox "密码错误,请重新输入", vbExclamation, "警告"Text2.Text = ""Text2.SetFocusEnd IfEnd Ifmicount = micount + 1If micount >= 3 Then Unload MeEnd SubPrivate Sub cmdcancel_Click()Unload MeEnd Sub3) 设计读者管理窗体(1) 设计界面(2) 编写程序Private Sub cmdadd_Click()Adodc1.Recordset.AddNewcmdadd.Enabled = Falsecmddel.Enabled = Falsecmdok.Enabled = Falsecmdcnacel.Enabled = TrueEnd SubPrivate Sub cmdcancel_Click()Adodc1.Refreshcmdadd.Enabled = Truecmddel.Enabled = Truecmdok.Enabled = Falsecmdcancel.Enabled = FalseEnd SubPrivate Sub cmddel_Click()X = MsgBox("确实要删除当前记录吗?", vbYesNo + vbQuestion)If X = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF = True ThenAdodc1.Recordset.MoveLastEnd IfElseAdodc1.RefreshEnd IfEnd SubPrivate Sub cmdfirst_Click()Adodc1.Recordset.MoveFirstcmdfirst.Enabled = Falsecmdpre.Enabled = Falsecmdnext.Enabled = Truecmdlast.Enabled = TrueEnd SubPrivate Sub cmdlast_Click()Adodc1.Recordset.MoveLastcmdfirst.Enabled = Truecmdpre.Enabled = Truecmdnext.Enabled = Falsecmdlast.Enabled = FalseEnd SubPrivate Sub cmdnext_Click()Adodc1.Recordset.MoveNextcmdfirst.Enabled = Truecmdpre.Enabled = TrueIf Adodc1.Recordset.EOF = True ThenAdodc1.Recordset.MoveLastcmdlast.Enabled = Falsecmdnext.Enabled = FalseEnd IfEnd SubPrivate Sub cmdok_Click()Adodc1.Recordset.Updatecmdadd.Enabled = Truecmddel.Enabled = Truecmdok.Enabled = Falsecmdcancel.Enabled = FalseEnd SubPrivate Sub cmdpre_Click()Adodc1.Recordset.MovePreviouscmdnext.Enabled = Truecmdlast.Enabled = TrueIf Adodc1.Recordset.BOF = True ThenAdodc1.Recordset.MoveFirstcmdfirst.Enabled = Falsecmdpre.Enabled = FalseEnd IfEnd SubPrivate Sub Form_Load()cmdfirst.Enabled = Falsecmdpre.Enabled = Falsecmdnext.Enabled = Truecmdlast.Enabled = Truecmdadd.Enabled = Truecmddel.Enabled = Truecmdok.Enabled = Falsecmdcancel.Enabled = FalseEnd Sub4) 设计读者查询窗体(3) 编写程序Private Sub Command1_Click()Dim str As Stringstr = "select *from 读者表 where 读者表." & combol.Text & "like '" & Text1.Text & "%'"Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()combo1.Text = " "Text1.Text = ""combo1.AddItem "性别"combo1.AddItem "读者姓名"combo1.AddItem "是否有超期"End Sub5) 设计图书管理窗体、图书查询窗体6) 设计借阅管理窗体(1) 设计界面(2) 编写程序Private Sub cmdexit_Click()Unload MeEnd SubPrivate Sub cmdlend_Click()Dim st1 As StringDim st2 As StringDim st3 As StringDim i As Integerst2 = "select 读者类别,是否有超期from 读者表的结构 where 借书证号='" & Trim(Text1) & " ' "Adodc2.RecordSource = st2Adodc2.Refresh'有借书证号If Adodc2.Recordset.BOF = False Then'读者是教师If Adodc2.Recordset.Fields(" 读者类别 ") = " t " And Adodc2.Recordset.Fields("是否有超期") = "n" Then'是否超过最多的十本st1 = "select *from 借阅表 where 借书证号='" & Trim(Text) & "'"Adodc1.RecordSource = st1Adodc1.RefreshIf Adodc1.Recordset.RecordCount >= 10 Then MsgBox "教师借书数量达到最多,不能再借!"ElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("借书证号") = Text1Adodc1.Recordset.Fields("条形码号") = Text2Adodc1.Recordset.Fields("借出日期") = str(Date)Adodc1.Recordset.Fields("归还日期") = NullAdodc1.Recordset.Update'在图书表中写入"借阅状态"和"借阅次数"信息st3 = "select * from 图书表 where 条形码号='" & Trim(Text2) & "'"Adodc3.RecordSource = st3Adodc3.RefreshAdodc3.Recordset.Fields("借阅状态") = "借出"Adodc3.Recordset.Fields("借阅次数") = Adodc3.Recordset.Fields("借阅次数") + 1Adodc3.Recordset.UpdateEnd If'读者是学生ElseIf Adodc2.Recordset.Fields("读者类别") = "s" And Adodc2.Recordset.Fields("是否有超期") = "n" Then'是否超过最多的三本str1 = "select * from 借阅表 where 借书证号='" & Trim(Text1) & " ' "Adodc1.RecordSource = st1Adodc1.RefreshIf Adodc1.Recordset.RecordCount >= 3 ThenMsgBox "学生借书量达到最多,不能再借!"ElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("借书证号") = Text1Adodc1.Recordset.Fields("条形码号") = Text2Adodc1.Recordset.Fields("借出日期") = str(Date)Adodc1.Recordset.Fields("归还日期") = NullAdodc1.Recordset.Update'在图书表中写入“借阅状态”和“借阅次数”信息st3 = "select * from 图书表 where 条形码号=' " & Trim(Text2) & "'"Adodc3.RecordSource = st3Adodc3.RefreshAdodc3.Recordset.Fields("借阅状态") = "借出"Adodc3.Recordset.Fields("借阅次数") = Adodc3.Recordset.Fields("借阅次数") + 1Adodc3.Recordset.UpdateEnd IfElse: If Adodc2.Recordset.Fields("是否有超期") = "y" Then MsgBox "该读者有超期书,不能再借书"End IfEndEnd SubPrivate Sub cmdreturn_Click()Dim sst As StringDim sstt As StringDim sst3 As Stringsst = "select * from 借阅表 where 条形码号='" & Text2 & "'"Adodc1.RecordSource = sstAdodc1.Refreshsstt = "select*from读书表where借书证号='" & Adodc1.Recordset.Fields("借书证号") & "'"Adodc2.RecordSource = ssttAdodc2.Refresh'先还书,再罚款Adodc1.Recordset.Fields("归还日期") = DateAdodc1.Recordset.UpdateMsgBox "还书成功"'在图书表中写入该书的“在库”信息sst3 = "select * from 图书馆where 条形码号='" & Text2 & "'"Adodc3.RecordSource = sst3Adodc3.RefreshAdodc3.Recordset.Fields("借阅状态") = "在库"Adodc3.Recordset.UpdateIf Adodc2.Recordset.Fields("读者类别") = "t" ThenIf Date - Adodcl.Recordset.Fields("借出日期") > 90 ThenMsgBox "有超期罚款"fm_punish.ShowEnd IfElseIf Adodc2.Recordset.Fields("读者类别") = "s" ThenIf Date - Adodcl.Recordset.Fields("借出日期") > 30 ThenMsgBox "有超期罚款"fm_punish.ShowEnd IfEnd IfEnd SubEnd Sub7) 设计罚款管理窗口(1)设计窗体(3) 编写程序Private Sub cmdexit_Click()Unload MeEnd SubPrivate Sub cmdpunish_Click()Dim pcount As IntegerDim i As IntegerDim sum As Singlesum = 0If Adodc3.Recordset.BOF = False Thenpcount = Adodc3.Recordset.RecordCountEnd IfFor i = 1 To pcountsum = sum + Adodc3.Recordset.Fields("超期天数") * 0.1'向罚款表中添加记录Adodc1.Recordset.AddNewAdodc1.Recordset.Fields("借书证号") = Adodc3.Recordset.Fields("借书证号")Adodc1.Recordset.Fields("条形码号") = Adodc3.Recordset.Fields("条形码号")Adodc1.Recordset.Fields("处罚日期") = DateAdodc1.Recordset.Fields("超期天数") = Adodc3.Recordset.Fields("超期天数")Adodc1.Recordset.Fields("罚款金额") = Adodc3.Recordset.Fields("超期天数") * 0.1Adodc1.Recordset.UpdateAdodc3.Recordset.MoveNextNext iText2 = sum & "元"End SubPrivate Sub cmdquery_Click()Dim str3 As Stringstr3 = "select 读者表.借书证号,条形码号,读者姓名,借出日期,(month(getdate()-month(借出日期)-3)*30+day(getdate()-day(借出日期) as 超期天数" str3 = str3 & " from 读者表 inner join 借阅表 on 读者表.借书证号=借阅表.借书证号 " str3 = str3 + " where 借阅表.借书证号='" & Text1 & " 'and 读者表.读者类别='t'and month (归还日期) - month(借出日期)>3" str3 = str3 + "or 读者类别 = 's'and month (归还日期)-month(借出日期) > 1" Adodc3.RecordSource = str3 Adodc3.Refresh Text2.Text = " "End Sub七、实验心得与体会 通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计的过度,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,增强了自己在数据库中应用SQL语言的灵活性。 在学习过程中,我也上网查了不少资料,也看了一些别人设计的图书馆管理系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中从学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限的,我以后还会在这个领域不断的进行探索,掌握更多的知识。参考资料:基于 VB和SQL的数据库编程技术 刘志妩、马秀丽 清华大学出版社

    注意事项

    本文(数据库实验报告图书管理系统.docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开