首页 图书管理系统java课程设计报告

图书管理系统java课程设计报告

举报
开通vip

图书管理系统java课程设计报告PAGE焦作大学信息工程学院《Java实训》报告题目:图书管理系统班级:网络(1)班姓名:张辉学号:1003023352011年12月22日沈阳工程学院课程设计报告  目录摘要随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发...

图书管理系统java课程设计报告
PAGE焦作大学信息 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 学院《Java实训》报告 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目:图 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 管理系统班级:网络(1)班姓名:张辉学号:1003023352011年12月22日沈阳工程学院课程设计报告  目录摘要随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品。尤其是在校园里,各种软件的应用无处不在,为我们的学习和生活提供了方便。学校的图书馆不仅给我们提供看书学习的地方,还给我们提供了一套功能齐全的图书馆系统,方便我们搜索书籍、借阅图书。我们本次的Java课程设计的最终目标是实现一个图书馆管理系统,使其具有一般图书管理系统所具有的功能,可以实现管理员日志、管理员添加、管理员退出、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、书籍借阅与归还等功能。因为Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用Java编程为我们本次程序的编写提供了方便。在设计中我们主要进行了数据库及类的设计,把整系统分成了15个类和5个 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 。通过应用awt、swing、sql、util等包,合理的添加了按钮、菜单、文本框、文本区、表格等组件类,还包含窗口、面板等容器类,经过设计者合理的布局,完成了窗体的设计,并通过建立JDBC-ODBC桥接器连接到Access数据库后,向数据库发送SQL语句实现程序与数据库中表间的消息通信,从而实现了相应的图书馆管理系统的功能。本文主要分为绪论、系统功能介绍、数据库需求分析、系统功能实现、结论、致谢、参考文献7大块。在绪论中介绍了本次课设选题的缘由及思想。系统功能介绍中详细介绍了本图书管理系统的整体思想及其具体功能。在数据库需求分析中详细说明了数据库的需求分析、概念设计及表的设计。在系统功能实现中主要通过抓图来体现设计的结果。总之,我们的整体设计思想均在报告中体现。关键词:图书馆管理系统,Java程序设计语言,Access数据库目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc233984906"摘要PAGEREF_Toc233984906\hIHYPERLINK\l"_Toc233984907"第1章绪论PAGEREF_Toc233984907\h1HYPERLINK\l"_Toc233984908"第2章系统功能介绍PAGEREF_Toc233984908\h2HYPERLINK\l"_Toc233984909"2.1系统功能总框图PAGEREF_Toc233984909\h2HYPERLINK\l"_Toc233984910"2.2模块功能介绍PAGEREF_Toc233984910\h2HYPERLINK\l"_Toc233984911"2.2.1管理员模块功能介绍PAGEREF_Toc233984911\h2HYPERLINK\l"_Toc233984912"2.2.2读者管理PAGEREF_Toc233984912\h3HYPERLINK\l"_Toc233984913"2.2.3书籍管理模块功能介绍PAGEREF_Toc233984913\h3HYPERLINK\l"_Toc233984914"2.2.4书籍借阅与归还功能介绍PAGEREF_Toc233984914\h4HYPERLINK\l"_Toc233984915"2.2.5借阅超时功能介绍PAGEREF_Toc233984915\h4HYPERLINK\l"_Toc233984916"2.3组内任务分工PAGEREF_Toc233984916\h4HYPERLINK\l"_Toc233984917"第3章数据库设计PAGEREF_Toc233984917\h5HYPERLINK\l"_Toc233984918"3.1数据库需求分析PAGEREF_Toc233984918\h5HYPERLINK\l"_Toc233984919"3.2数据库概念结构设计PAGEREF_Toc233984919\h5HYPERLINK\l"_Toc233984920"3.3数据库表的设计PAGEREF_Toc233984920\h6HYPERLINK\l"_Toc233984921"第4章系统功能实现PAGEREF_Toc233984921\h8HYPERLINK\l"_Toc233984922"4.1管理员模块功能实现PAGEREF_Toc233984922\h8HYPERLINK\l"_Toc233984923"4.1.1管理员登陆PAGEREF_Toc233984923\h8HYPERLINK\l"_Toc233984924"4.1.2管理日志PAGEREF_Toc233984924\h10HYPERLINK\l"_Toc233984925"4.1.3管理员添加功能实现PAGEREF_Toc233984925\h11HYPERLINK\l"_Toc233984926"4.1.4管理员切换PAGEREF_Toc233984926\h13HYPERLINK\l"_Toc233984927"4.2读者管理模块功能实现PAGEREF_Toc233984927\h14HYPERLINK\l"_Toc233984928"4.2.1读者添加PAGEREF_Toc233984928\h14HYPERLINK\l"_Toc233984929"4.2.2读者修改PAGEREF_Toc233984929\h15HYPERLINK\l"_Toc233984930"4.2.3读者查询PAGEREF_Toc233984930\h17HYPERLINK\l"_Toc233984931"4.2.4读者删除PAGEREF_Toc233984931\h18HYPERLINK\l"_Toc233984932"4.3书籍管理模块功能实现PAGEREF_Toc233984932\h19HYPERLINK\l"_Toc233984933"4.3.1新书入库实现PAGEREF_Toc233984933\h19HYPERLINK\l"_Toc233984934"4.3.2查询功能实现PAGEREF_Toc233984934\h21HYPERLINK\l"_Toc233984935"4.4书籍借阅与归还功能实现PAGEREF_Toc233984935\h23HYPERLINK\l"_Toc233984936"4.4.1借阅书籍功能实现PAGEREF_Toc233984936\h23HYPERLINK\l"_Toc233984937"4.4.2归还书籍功能实现PAGEREF_Toc233984937\h25HYPERLINK\l"_Toc233984938"4.5借阅超时功能实现PAGEREF_Toc233984938\h28HYPERLINK\l"_Toc233984939"结论PAGEREF_Toc233984939\h30HYPERLINK\l"_Toc233984940"致谢PAGEREF_Toc233984940\h31HYPERLINK\l"_Toc233984941"参考文献PAGEREF_Toc233984941\h32沈阳工程学院课程设计报告第1章绪论PAGE1第1章绪论随着HYPERLINK"http://www.studa.net/Society/"社会HYPERLINK"http://www.studa.net/Economic/"经济的迅速发展和HYPERLINK"http://www.studa.net/gongxue/"科学技术的全面进步,HYPERLINK"http://www.studa.net/pc/"计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。书籍做为人类的精神食粮,在HYPERLINK"http://www.studa.net/dangdai/"现代社会中越来越受到重视,大量的书籍出现在市场上,人们有了各种各样不同的选择。与此同时,为了管理大量的图书,图书管理系统也大量的出现,随着图书的大量增加,其管理难度也越来越大,如何优化管理也就成为了一个大众化的问题。现已有的图书管理系统,其功能已十分强大,为了便于管理员对图书管理系统进行妥善的管理和读者的查询,图书管理系统为管理员提供了管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库等功能,为读者提供了书籍查询、读者借阅信息查询、图书网上续借等很多功能。大学为我们提供了自由的学习环境,使我们有更多的时间到图书馆借阅书籍,让我们可以随时掌握各方面的知识,不断提高自我、充实自我,但由于图书馆藏书成千上万,我们很难一本一本的去查找自己感兴趣的书籍,因此我们会经常用到学校为我们提供的图书管理系统,用时间长了便对此产生了兴趣,正好本次课程设计为我们提供了良好的机会,让我们亲自设计并实现了图书管理系统的部分功能。设计一个图书管理系统必不可少的必须对全管书籍进行分类汇总。而这就是我们所说的数据库设计的第一阶段:需求分析。在这一阶段除了对具体情况诸如实行对管理员的管理、对读者的管理、书籍管理、书籍的借阅与归还、借阅超时等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。对于界面的设计我们应该追求的是:美观、易读性强、清晰度高;原则是:不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价,不能为了清晰度而抛弃对易读性的追求。再设计的过程中我们应该根据实际的情况进行设计,做到具体问题具体分析,不刻意追求原则。在对应的界面与Access数据库建立连接,并实现对应的SQL语句进行实现将产生的结果显示出来。并运用捕捉异常的方法,将异常信息显示出来。实现SQL语句的时候借助前台开发工具中关于数据处理的控件来完成。对于读者而言他们的需求是了解图书的基本情况,自己的借阅情况。总而言之就是实现对各个信息表的查询。对于图书管理员而言要实现的功能相对而言比较多,例如实现新书入库、Access数据库表的创建、系统的维护等等,这些都需要设计和实现的。沈阳工程学院课程设计报告第2章系统功能介绍PAGE7第2章系统功能介绍2.1系统功能总框图图书馆管理系统功能总框图,如图2-1所示。图书馆管理系统管理员读者管理书籍管理书籍借阅归还管理员管理日志管理员添加管理员切换读者添加读者信息修改读者删除新书入库书籍查询借阅书籍归还书籍借阅超时读者信息查询图2-1系统功能框架图2.2模块功能介绍2.2.1管理员模块功能介绍1.管理员登陆此模块主要是利用MenuBar添加菜单条,利用Menu和MenuItem添加菜单和菜单的各个参数,通过事件ActionEvent可以实现进入各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出的功能。2.管理日志此模块可以清楚的显示出书籍借阅与归还的信息,包括书号、书名、图书证号、借/还、操作日期、已付款额。读者可以通过此模块实现的功能清楚的了解图书被借阅和归还的详细信息,从而给读者带来了很多方便。3.管理员添加功能介绍此模块功能是增加新管理员的登陆帐户。在图书馆管理系统中必须有每一个管理者的帐户让其可以正常进行新图书证的办理、借阅书籍和归还书籍等系统管理。所以在管理员功能模块中增加了管理员添加这个功能。4.管理员切换此模块的主要功能是进行管理员之间的切换,即单击管理员菜单下的管理员切换,就会退出当前管理员界面,从而出现管理员切换窗口,而另一管理员就可以在管理员切换窗口中的用户名和密码两栏中通过输入自己的用户名和密码直接进入该系统。2.2.2读者管理1.读者添加此模块主要的实现功能是添加新的读者信息,即当有新的读者要看查看本图书馆中的书藉,可以通过此功能实现,当数据库中存在其新信息,即成为本图书馆的新一位读者。其中信息分别包括图书证号、学生姓名、性别、系别、班级,同时可有三项功能在此处实现,即添加、重置以及返回。2.读者修改此模块主要的实现功能对有信息更新的读者进行即时修改,以随时更新读者在数据库中的信息。本模块通过图书证号确定读者,可对读者信息的新图书证号、学短姓名、性别、系别、班级。此处可分别实现对该功能的修改、重置、返回。3.读者查询此模块主要可对所要了解的读者信息。即把读者的信息从数据库调出来,显示在该窗口中的文字区域。查询方式分别有按图书证查询、按姓名查询、按班级查询、按年级查询,并可通过办理入相应的关键字,更加缩小查询范围。此处可实现查询和返回功能。4.读者删除此模块可以删除一些不再使用本系统的读者资料,从而达到对数据库中的清理,即清除一些不必要资料,此处有四种删除途径,分别为按图书证号删除、按姓名删除、按班级删除、安年级删除,并可通过所输入的关键字尽快找到所要删除的资料。此处可分别实现对该功能的修改、重置、返回。2.2.3书籍管理模块功能介绍1.新书入库功能介绍此模块主要的实现功能是将新来的图书输入到图书馆管理系统的书库当中,其中主要按如下信息往书库中输入,这部分的操作主要是便于书库合理的管理,有利于读者能够对新书有一个更详细的了解。其中包括如下信息:新书书号、新书名称、新书出版日期、新书出版社、入库数量、编写作者、新书单价。2.书籍查询功能介绍在图书馆管理系统中书籍查询是最基本的功能,读者可以根据自己的需求来查询想要借阅的书籍。本系统是用Java应用程序和Access数据库一起开发的其中利用Java来编程实现功能的代码和布置运行界面。界面是由检索项、检索词和显示文本区三个部分组成的用户根据自己的需要在检索项中选择自己所要按什么字段进行查询,其中书籍查询功能的检索项中可以按书号查询、按书名查询、按作者名查询、按出版社查询、按入库时间查询等基础查询。选择检索项后用户只要在检索词中添写自己所要查询的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 并确定键确认后用户要查询的内容就可以在显示文本区中显示出来。用户可以根据显示的信息得知自己所要借阅书籍的情况。2.2.4书籍借阅与归还功能介绍1.借阅书籍功能介绍此模块主要实现读者可凭有效的图书证号,借阅图书馆内未借出的图书。输入图书证号后,可显示了该图书证持有者的全部信息(包括借书证号、姓名、性别、所在班级、所属系部、当前可借阅图书个数),供读者确认信息。通过输入有效的图书编号,查询该图书的全部信息(包括书号、书名、作者、出版社、是否借出、价格)。借阅成功后,将该图书证号、书号、借阅日期、应还日期信息插入到数据库的表中进行记录。2.归还书籍功能介绍此模块主要实现读者凭所要归还图书的图书证号归还图书。输入所要归还的图书编号后,可显示了该图书证持有者的全部信息(包括借书证号、姓名、性别、所在班级、所属系部、当前可借阅图书个数),供读者确认信息。还书成功后,从数据库中删除该书的借出记录,并修改数据库中的相应信息。2.2.5借阅超时功能介绍此模块主要实现显示过期图书的信息(包括图书证号、书号、借阅日期、应还日期)提醒读者还书。2.3组内任务分工组内分工情况如下表2-1所示。表2-1组内分工情况表组长邹刚读者添加、查询、修改、删除。组员罗姗姗书籍借阅与归还模块、借书超期限子系统。李呈呈管理员添加、新书入库、按指定条件进行图书查询。刘兰兰数据库创建、登陆界面设计、管理员模块。沈阳工程学院课程设计报告第3章数据库设计第3章数据库设计在此图书馆管理系统中,使用到了一个重要的连接,即与数据库Accesss相连。数据库中存有图书馆中所信息,包括读者信息、管理员资料、借阅与退还记录。所有与管理有关的数据皆在其中,是保证系统能够正常实现各种功能的一架桥。3.1数据库需求分析⒈Admi表,即管理员表,记录了用户名和密码。⒉Admirz表,即管理日志表,记录了书号、书名、图书证号、借/还、操作日期、已付款额。⒊book表,即图书表,记录了书号、书名、作者、出版社、入库时间、是否借出、价格。⒋borrowbook表,即借阅表,记录了图书证号、书号、借阅日期、应还日期。⒌person表,即读者表,记录了图书证号、姓名、性别、系别、班级。3.2数据库概念结构设计图书馆管理系统E-R图,如图3-1。mn读者图书管理员性别系别班级姓名图书证号书号书名作者出版社会化密码用户名管理管理mnm借阅1入库时间是否借出价格图3-1图书馆管理系统E-R图3.3数据库表的设计⒈Admi表表中记录了可以使管理员进入该系统的用户名及密码,如表3-1所示。表3-1管理员信息表字段名称数据类型长度备注用户名文本10密码文本15⒉Admirz表表中记录借还书日志,用于存下所有对图书操作的记录,以便以后可以翻阅和查找,如表3-2所示。表3-2管理日志表字段名称数据类型长度备注书号文本10书名文本15作者文本15出版社文本15入库时间DATE15已付款额文本10⒊book表表中记录了库内所有图书的所有资料,如表3-3。表3-3图书表字段名称数据类型长度备注书号文本10书名文本15作者文本15出版社文本15入库时间DATE15是否借出文本10价格文本10⒋person表表中记录库中所有读者的相关信息,如表3-4所示。表3-4读者表字段名称数据类型长度备注图书证号文本10姓名文本15性别文本15系别文本15班级文本15⒌borrowbook表表内记录了此时图书的借阅情况,如表3-5所示。表3-5借阅表字段名称数据类型长度备注图书证号文本10书号文本15借阅日期DATE15应还日期DATE15沈阳工程学院课程设计报告第4章系统功能实现PAGE22第4章系统功能实现4.1管理员模块功能实现4.1.1管理员登陆此模块是整个系统最主要的部分,管理员可以通过此模块实现进入其余各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出的功能。图书管理系统管理员界面如图4-1所示。图4-1图书管理系统管理员主要程序代码如下:publicvoidactionPerformed(ActionEvente){if(e.getSource()==itemAdmiqh){this.dispose();Inwinin=newIn("系统登陆");}if(e.getSource()==itemtc){System.exit(0);}if(e.getSource()==itemAdmixj){CreatAdmicreatAdmi=newCreatAdmi("管理员添加");}if(e.getSource()==itemAdmirz){WinTablewintable=newWinTable("管理日志");}if(e.getSource()==itemBookrk){AddInfyaddInfy=newAddInfy();}if(e.getSource()==itemPersonlr){Winpersonaddwinperson=newWinpersonadd("读者添加");}if(e.getSource()==itemPersoncx){Winpersonsearchwinperson=newWinpersonsearch("读者信息查询");}if(e.getSource()==itemPersonxg){Winpersonmodifywinperson=newWinpersonmodify("读者信息修改");}if(e.getSource()==itemPersonsc){Winpersondeletewinperson=newWinpersondelete("读者删除");}if(e.getSource()==itemBookcx){Windowjjok=newWindowjj();}if(e.getSource()==itemchaoshi){daywin=newday();}if(e.getSource()==itemBorrowjs){Borrowbookwin=newBorrowbook();}if(e.getSource()==itemBorrowhs){Returnbookwin=newReturnbook();}}4.1.2管理日志此模块通过定义类WinTable继承顶层容器JFrame,再添加普通容器JScrollPane、Jpanel,然后通过BorderLayout布局创建界面,最后主要通过数组利用while循环在连接好的数据库中查找表Admirz中的内容,从而实现了可以清楚的显示出书籍借阅与归还信息的功能。管理日志界面如图4-2所示。图4-2管理日志主要程序代码如下:WinTable(Strings){super(s);try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){System.out.println(""+e);}try{con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMAdmirz");while(rs.next()){k++;}}catch(SQLExceptione){System.out.println(""+e);}try{con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMAdmirz");a=newObject[k][6];while(rs.next()){for(intj=0;j<6;j++){if(j<5)a[i][j]=rs.getString(j+1);else{a[i][j]=rs.getDouble(j+1);i++;}}}con.close();}catch(SQLExceptione){System.out.println(""+e);}table=newJTable(a,name);Containercon=getContentPane();getContentPane().add(newJScrollPane(table),BorderLayout.CENTER);setBounds(120,125,700,500);setVisible(true);validate();addWindowListener(newDisposeListener());}}4.1.3管理员添加功能实现功能介绍:该程序主要实现管理员的添加,以便于让实行对图书管理员的管理。按照标签提示输入信息,然后点击确定按钮。首先判断管理员名文本框中输入的文本信息是否符合大于3个字符并小于10个字符的规则,如果不符合规则,则提示错误,如果符合规则,再到Admi表中进行查询,如果相同则用提示框提示错误。若无相同则可注册。但还需要保证前后两次的密码相同,才能成功注册,管理员登陆窗口如图4-3所示。图4-3管理员添加成功界面主要程序代码如下:publicvoidactionPerformed(ActionEventc){Stringb=textUser.getText();Stringd=textPassword1.getText();Stringg=textPassword2.getText();if(c.getSource()==buttonqk){textUser.setText(null);textPassword1.setText(null);textPassword2.setText(null);}if(c.getSource()==buttonEnter||c.getSource()==textPassword2){if(b.length()<3||b.length()>10){JOptionPane.showMessageDialog(null,"用户名应在3~10个字符之间");textUser.setText(null);}else{try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){System.out.println(""+e);}try{con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMAdmiWHERE用户名="+"'"+b+"'");if(rs.next()){Stringuser=rs.getString(1);if(b.equals(user)){JOptionPane.showMessageDialog(null,"此管理员已被注册","警告",JOptionPane.WARNING_MESSAGE);}}else{if(d.equals(g)){sql.executeUpdate("INSERTINTOAdmiVALUES"+"("+"'"+b+"'"+","+"'"+d+"'"+")");this.dispose();JOptionPane.showMessageDialog(null,"管理员注册成功");}elseJOptionPane.showMessageDialog(null,"两次输入密码不一致","警告",JOptionPane.ERROR_MESSAGE);}con.close();}catch(SQLExceptione){System.out.println(""+e);}}}}4.1.4管理员切换此模块功能是退出当前管理员界面,进入管理员切换窗口,另一用户可以通过输入自己的用户名和密码直接进入该系统。但此用户名和密码都必须与已经连接好的数据库中表Admi中的用户名和密码相吻合。管理员切换界面如图4-4所示。图4-4管理员切换主要程序代码如下:publicvoidwindowClosing(WindowEvente){e.getWindow().dispose();}4.2读者管理模块功能实现4.2.1读者添加功能介绍:添加新的读者,使其能够进入图书系统阅览图书,读者添加如图4-5所示。图4-5读者添加主要程序代码如下:publicvoidactionPerformed(ActionEvente){if(e.getSource()==button1)//添加{Stringch=text1.getText();if(ch.length()!=5){JOptionPane.showMessageDialog(null,"请输入5位图书证号!");text1.setText(null);}else{……//连接数据库Stringnumber,name,sex,dept,classes,record,insertStr;number=text1.getText();name=text2.getText();if(box1.getState()==true){sex=box1.getLabel();}else{sex=box2.getLabel();}dept=text3.getText();classes=text4.getText();rs=sql.executeQuery("SELECT*FROMpersonWHERE图书证号="+"'"+number+"'");if(rs.next()){JOptionPane.showMessageDialog(null,"此图书证号已存在","警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);}record="("+"'"+number+"'"+","+"'"+name+"'"+","+"'"+sex+"'"+","+"'"+dept+"'"+","+"'"+classes+"'"+")";insertStr="INSERTINTOpersonVALUES"+record;sql.executeUpdate(insertStr);JOptionPane.showMessageDialog(null,"添加成功!");con.close();}4.2.2读者修改功能介绍:对读者需要修改的资料进行重定义,读者信息修改如图4-6所示。图4-6读者信息修改主要程序代码如下:publicvoidactionPerformed(ActionEvente){if(e.getSource()==button1)//修改{Stringch=text1.getText();if(ch.length()!=5){JOptionPane.showMessageDialog(null,"请输入5位图书证号!");text1.setText(null);}else{try{……//连接数据库Stringnumber,name,sex,dept,classes,newnum,record,updateStr;newnum=text5.getText();number=text1.getText();name=text2.getText();if(box1.getState()==true){sex=box1.getLabel();}else{sex=box2.getLabel();}dept=text3.getText();classes=text4.getText();sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMpersonwhere图书证号="+"'"+newnum+"'");if(rs.next()){rs1=sql.executeQuery("SELECT*FROMpersonwhere图书证号="+"'"+number+"'");if(rs1.next()){JOptionPane.showMessageDialog(null,"此图书证号已存在","警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);}else{updateStr="UPDATEpersonSET图书证号="+"'"+number+"'"+","+"姓名="+"'"+name+"'"+","+"性别="+"'"+sex+"'"+","+"系别="+"'"+dept+"'"+","+"班级="+"'"+classes+"'"+"WHERE图书证号="+"'"+newnum+"'";sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(null,"修改成功!");}}else{JOptionPane.showMessageDialog(null,"查无此人!");}……//连接数据库con.close();}4.2.3读者查询功能介绍:可以对数据库中已有的读者信息进行查询。读者查询如图4-7。图4-7 读者信息查询主要程序代码如下:publicvoidactionPerformed(ActionEvente){if(e.getSource()==button1||e.getSource()==text){//查询area.setText(null);if((str=="按图书证号查询"||str==null)&&text.getText()!=null){booleanflag=true,f=true;Stringnum=text.getText();……//连接数据库rs=sql.executeQuery("SELECT*FROMpersonwhere图书证号="+"'"+num+"'");while(rs.next()){f=false;Stringnumber=rs.getString("图书证号");Stringname=rs.getString("姓名");Stringsex=rs.getString("性别");Stringdept=rs.getString("系别");Stringclasses=rs.getString("班级");if(flag){area.append("图书证号为"+num+"的学生信息如下:");flag=false;}area.append("\n姓名:"+name+"性别:"+sex+"系别:"+dept+"班级:"+classes+"\n");}if(f){area.append("查无此人!");}}catch(SQLExceptionc){System.out.println(c);}}4.2.4读者删除功能介绍:删除数据库中已有信息。读者删除如图4-8所示。图4-8读者删除主要程序代码如下:if(e.getSource()==button1){//删除area.setText(null);if((str=="按图书证号删除"||str==null)&&text.getText()!=null){Stringnum=text.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionc){System.out.println(""+c);}……//连接数据库rs=sql.executeQuery("SELECT*FROMpersonwhere图书证号="+"'"+num+"'");if(rs.next()){area.append("该信息已删除!");}StringdelStr="DELETEFROMpersonWHERE图书证号="+"'"+num+"'";sql.executeQuery(delStr);con.close();}catch(SQLExceptionc){System.out.println(c);}}4.3书籍管理模块功能实现4.3.1新书入库实现功能介绍:此界面主要完成的功能是往数据库book表中添加新书的记录,在book表中可查看最新的记录。在新书信息输入的过程中,会出现一些异常处理,如某个字段的信息没有填写;新书信息输入字段的过程中,输入的字段类型与给定的字段类型与输入不匹配(如:货币、日期);输入的信息长度超过给定的字段长度等。如果填写的内容正确则可以成功将新书添加入库,新书入库窗口如图4-9所示。图4-9添加新书入库界面主要程序代码如下:publicvoidactionPerformed(ActionEventc){if(c.getSource()==button2){this.dispose();}if(c.getSource()==button1){……//连接数据库rs=stm.executeQuery("select书号frombookwhere书号='"+textField1.getText()+"'");if(rs.next()){JOptionPane.showMessageDialog(null,"此书号已存在!","警告",JOptionPane.WARNING_MESSAGE);return;}floatm;Stringstr1,str2,str3,str4,str6,str7,str8,str9,str10;str1=textField1.getText();……str10="未借出";m=Float.parseFloat(str9);str="("+"'"+str1+"','"+str3+"','"+str8+"','"+str6+"','"+str7+"','"+str10+"',"+m+")";Stringinsert="INSERTINTObook(书号,书名,作者,出版社,入库时间,是否借出,价格)VALUES"+str;stm.executeUpdate(insert);textField1.setText("");……JOptionPane.showMessageDialog(null,"增加信息成功!");con.close();}catch(Exceptione){JOptionPane.showMessageDialog(null,"请认真检查各项!然后重试.","异常警告",JOptionPane.WARNING_MESSAGE);}}4.3.2查询功能实现功能介绍:本系统包含两项一是检索项令一个是检索词,在检索项中用户可以根据自己的需求来选择所要查询的项目并在检索词中添写自己所要查询的内容。本系统副带四个按钮:确定、取消、查看全库,该图书馆管理系统的查询界面如图4-10所示。图4-10查询系统界面在该系统中为了用户使用方便还设有查看全库一项,用户可以通过这一功能来查看全库的图书,所查询的内容将在下方的文本区中显示,其界面4-11所示。图4-11查看全库信息使用检索词必须得满足一定的查询条件才可以执行,用户必须得在检索项中选择查询方式并添好检索词才可查询否则系统会显示未找到您要查找的内容并给以提示,如图4-12所示。图4-12检索项按书号查询主要程序代码如下:publicvoiditemStateChanged(ItemEvente){area.setText(null);Stringname=choice1.getSelectedItem();area.append("请您在检索项中输入您要查找的内容:");}publicvoidactionPerformed(ActionEvente){if(e.getSource()==button2)//取消键{text1.setText(null);}elseif(e.getSource()==button3)//返回键{this.dispose();}elseif(e.getSource()==button4)//查看全库{Connectioncon;Statementsql;ResultSetrs;try//建立数据源{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionc){System.out.println(""+c);}try{con=DriverManager.getConnection("jdbc:odbc:sun","","");sql=con.createStatement();rs=sql.executeQuery("select*frombook");while(rs.next()){Stringbookname=rs.getString("书名");Stringauther=rs.getString("作者");Stringchubanshe=rs.getString("出版社");Stringbookno=rs.getString("书号");Stringdata=rs.getString("入库时间");Stringyesorno=rs.getString("是否借出");area.append("\n书号:"+bookno);area.append("书名:"+bookname);area.append("作者:"+auther);area.append("出版社:"+chubanshe);PAGE29area.append("\n入库时间:"+data);area.append("是否借出:"+yesorno);}con.close();}catch(SQLExceptionc){System.out.println(""+c);}}4.4书籍借阅与归还功能实现4.4.1借阅书籍功能实现输入图书证号“0001”后点击查看按钮,可显示该读者信息,若输入图书证号错误,点击查看按钮则会弹出借书证错误对话框,如图4-13所示。输入图书编号“0000003”按回车键,可显示该图书信息,若输入图书编号错误,按回车键则会弹出图书编号错误对话框,如图4-14所示。点击借阅按钮则会弹出图书借阅成功对话框。借阅书籍功能的具体实现如图4-15所示。图4-13借书证错误图4-14图书编号错误图4-15借阅书籍主要程序代码如下:publicvoidactionPerformed(ActionEvente){if(e.getSource()==tj){if(!tscard.getText().equals(null)&&!tsid.getText().equals(null)){Stringstr1,str2;str1=tsid.getText();str2=tscard.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionc){System.out.println(""+c);}……//连接数据库rs=sql.executeQuery("SELECT*FROMpersonwhere图书证号="+"'"+str2+"'");Stringls1=null,ls2=null,ls3=null;intis1=0;if(rs.next()){ls2=str2;}con.close();……//连接数据库rs=sql.executeQuery("SELECT*FROMbookwhere书号="+"'"+str1+"'");if(rs.next()){if(rs.getString("是否借出").equals("未借出"))ls1=str1;ls3=rs.getString("书名");}con.close();……//连接数据库rs=sql.executeQuery("SELECTcount(书号)FROMborrowbookwhere图书证号="+"'"+str1+"'");rs.next();is1=rs.getInt(1);con.close();……//连接数据库if(ls1==str1&&ls2==str2&&is1<5){Dateda=newDate();inty=da.getYear()+1900;intm=da.getMonth()+1;intd=da.getDate();Stringjyrq=String.valueOf(y)+"-"+String.valueOf(m)+"-"+String.valueOf(d);……//计算借阅时间Stringyhrq=String.valueOf(y)+"-"+String.valueOf(m)+"-"+String.valueOf(d);Stringinsertstr="INSERTINTOborrowbookVALUES('"+ls2+"','"+ls1+"','"+jyrq+"','"+yhrq+"')";Stringupdatestr="UPDATEbookSET是否借出='借出'WHERE书号="+"'"+str1+"'";Stringinsertstr2="INSERTINTOAdmirzVALUES('"+ls1+"','"+ls3+"','"+ls2+"','借书','"+jyrq+"',0)";sql.executeUpdate(insertstr);sql.executeUpdate(insertstr2);sql.executeUpdate(updatestr);JOptionPane.showMessageDialog(this,"借阅成功请在"+yhrq+"之前退还,否则将支付滞纳金","图书借阅成功",JOptionPane.WARNING_MESSAGE);tsid.setText(null);tscard.setText(null);}4.4.2归还书籍功能实现输入图书编号“0000003”点击回车键,则该界面右侧会显示借书者的信息,若图书编号错误则会弹出图书编号错告对话框,如图4-16所示。点击还书按钮会弹出归还成功对话框。归还书籍功能的具体实现,如图4-17所示。4-16图书编号错误4-17归还书籍主要程序代码如下:publicvoidactionPerformed(ActionEvente){if(e.getSource()==tj){Stringnum=tsid.getText();intjc;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionc){System.out.println(""+c);}try{Stringtsz=null;……//连接数据库rs=sql.executeQuery("SELECT*FROMpersonwhere图书证号=(SELECT图书证号FROMborrowbookwhere书号="+"'"+num+"')");if(rs.next()){tsz=rs.getString("图书证号");}con.close();……//连接数据库rs=sql.executeQuery("SELECT*FROMvbbookwhere书号="+"'"+num+"'");Dateda=newDate();inty=da.getYear()+1900;intm=da.getMonth()+1;intd=da.getDate();Stringczrq=String.valueOf(y)+"-"+String.valueOf(m)+"-"+String.valueOf(d);floatmoney;Stringsm=null;intday=0;if(rs.next()){sm=rs.getString("书名");Stringyhrq=rs.getString("应还日期");y=(y-Integer.parseInt(yhrq.substring(0,4)));intmm=Integer.parseInt(yhrq.substring(5,7));day=y;d=Integer.parseInt(yhrq.substring(8,10))-d;if(y!=0)mm=mm+12;while(m>mm){…//计算还书时间}day=day+d;if(day>0){JOptionPane.showMessageDialog(this,"您比应还日期晚了"+String
本文档为【图书管理系统java课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥18.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
文娇
教师
格式:doc
大小:632KB
软件:Word
页数:0
分类:企业经营
上传时间:2021-07-09
浏览量:13