图书信息管理系统课程设计.doc_第1页
图书信息管理系统课程设计.doc_第2页
图书信息管理系统课程设计.doc_第3页
图书信息管理系统课程设计.doc_第4页
图书信息管理系统课程设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

xxx职业技术学院信息工程系xxx职业技术学院课程设计论文设计题目:图书管理系统学生姓名:xxx 指导教师:xxx 专业名称:网络系统管理所在院系:信息工程系 2007年 7月 5 日摘 要图书管理系统是典型的信息管理系统(mis),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。因此本人结合开入式图书馆的要求,对ms access数据库管理系统、java程序设计进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分,并由此设计了数据库结构和应用程序。设计充分利用java、ms access数据库技术的强大力量,提高了编程效率和可靠性。关键字:数据库 java语言 access 图书管理 gui目 录第1章 选题及本次课程设计的任务11.1查找资料11.2选题11.3总结数据、明确任务11.4本次设计的重大意义11.5本章小结1第2章 设计实现的详细步骤22.1系统的基本结构22.2用户登录窗体22.3管理系统主窗体32.4浏览图书信息42.5添加图书信息52.6修改图书信息72.7查询图书信息82.8删除图书信息92.9读者信息管理102.10 access数据库102.11本章小结11第3章 设计中遇到的重点及难点123.1重点及难点123.2本章小结12第4章 本次设计中存在不足与改良方案134.1不足与改良方案134.2本章小结13结 论14参考文献15致 谢16指导教师评语17答辩委员会评语18第1章 选题及本次课程设计的任务1.1查找资料java应用教程java2程序设计基础java程序设计教程与实训管理信息系统1.2选题图书管理系统1.3总结数据、明确任务该系统必须具备的数据库:图书信息数据库、读者信息数据库、管理员数据库该系统必须具备以下功能:1、能对各类图书实行分类管理;2、提供必要的读者信息;3、对图书的查询;4、具有图书检索功能;5、能对读者信息进行管理等。这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员对读者信息进行管理1.4本次设计的重大意义在此次课程设计中,主要设计的是图书馆管理员管理图书部分。图书馆管理员有修改图书借阅者信息的权限,图书馆管理员功能的信息量大,数据安全性和保密性要求最高。本次课程设计实现对图书信息、借阅者信息。图书馆管理员可以浏览、查询、添加、删除、修改的基本信息;浏览、查询、添加、删除和修改图书借阅者的基本信息。1.5本章小节本章主要通过查找资料明确了此次课程设计的题目,并确定了此次课程设计的主要任务和此次课程设计的重要意义。第2章 设计实现的详细步骤2.1系统的基本结构登录图书信息管理读者信息管理浏览图书信息添加新书信息修改图书信息查询图书信息删除图书信息2.2用户登录窗体的的实现 本窗体是为了让图书馆管理员按照账号和密码进行登录,如账号和密码输入正确,即可进入管理系统主窗体,而把用户登录窗体关闭。如果输入错误,则弹出错误提示。图2-1 用户登录窗体在输入管理员的登录信息时,通过连接数据库来判断信息是否正确。string strurl = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=student.mdb;class.forname(sun.jdbc.odbc.jdbcodbcdriver);connection conn = drivermanager.getconnection(strurl);2.3管理系统主窗体的的实现 管理系统主窗体是当管理员输入账号和密码正确后进入的窗体,该窗体主要包括管理员可以对图书进行管理的一些操作,浏览图书,添加图书,查询图书等和对读者的一些浏览、查询、修改信息等操作。 图2-2 管理系统主窗体 在此窗体上,主要添加了标签和按钮,该5个按钮可以链接到对图书进行详细操作的5个窗体上,分别是allinfo ,addinfo, modifyinfo, searchinfo, deleteinfo。“读者信息管理”按钮可以链接到对读者信息管理的窗体上。在读者信息管理的窗体上可以对读者的基本信息进行管理。为了美化窗体,在中间加了4个标签。2.4浏览图书信息 浏览图书信息是对数据库中的图书信息进行全部浏览显示,显示书号,书名,是否借出,出版日期,作者,图书分类,系别,出版社,备注。图2-3 图书信息rs=stmt.executequery(select * from stuinfo);通过和access数据库的连接之后,通过selecet语句从数据库中显示全部信息。 while(rs.next() 处理查询过程 string 书号 = rs.getstring(书号); string 系别 = rs.getstring(系别); string 出版社 = rs.getstring(出版社); string 书名 = rs.getstring(书名); string 借出 = rs.getstring(借出); string 出版日期 = rs.getstring(出版日期); string 作者 = rs.getstring(作者); string 图书分类 = rs.getstring(图书分类); string 备注 = rs.getstring(备注); 2.5添加图书信息 添加图书信息窗体主要是对入库新书的信息添加,在此窗体中,需要把图书的详细信息添加完整,格式添加正确,否则会弹出信息不全而不能添加如数据库的提示。图2-4 添加图书信息在实现添加图书窗体的过程中,首先得定义标签、按钮以及文本框等,然后给各个控件添加文本,位置,颜色等属性的设置,设置完之后将所有控件添加到窗体上,并设置为可视,把基本的界面设计完之后,开始连接数据库(jdbc),通过sql语句连接access数据库,在向数据库中写入信息之前,还得先通过学号判断输入入的信息在数据库中是否存在,如果存在则提示记录已经存在,请输入其他学号。判断语句如下:从数据库的图书信息表中取得第一条记录,并判断resultset rs = stmt.executequery(select * from stuinfo where 书号=+ jtextfield1.gettext() + );设置循环,直到最后一条记录,如果存在和输入的记录学号相同的信息,则提示警告。并返回重新输入if(rs.next()joptionpane.showmessagedialog(null, 此书号已经存在., 警告,joptionpane.warning_message);return;如判断学号在数据库中无重复记录,则将新输入的信息添加到数据库中。stmt.executeupdate(insert into stuinfo(书号,系别,出版社,书名,借出,出版日期,作者,图书分类,备注values(+jtextfield1.gettext()+,+jcombobox3.getselecteditem()+,+jtextfield5.gettext()+,+jtextfield2.gettext()+,+jcombobox1.getselecteditem()+,+jtextfield3.gettext()+,+jtextfield4.gettext()+,+jcombobox2.getselecteditem()+,+jtextarea.gettext()+);在添加完一条记录后,会弹出添加信息成功提示,并且会调用显示图书信息窗体,可以在此窗体中查看刚刚添加的图书信息,并且添加图书信息窗体不会自动关闭,如果想继续添加下一本图书信息可以不用再去调用添加图书信息窗体,直接可以进行添加了。当把所有的图书信息添加完之后,可以点关闭,将添加图书信息窗体关闭。2.6修改图书信息在实现修改图书信息的模块中,第一步先得通过学号查询,找到要修改的图书记录,再进入修改窗体进行对记录的修改。如找不到,则提示“找不到对应信息”。图2-5修改图书信息 通过对图书的查询,如果找到要修改的图书信息,进入修改窗体,对记录进行修改,书号字段默认为不可修改项,因为书号是第一次输入图书信息时,已经确定的字段,在access数据库中为主关键字,所以不可以修改。其他项都为可修改字段。在修改记录的设计中,其实是将原先的记录删除掉,然后在将修改完的记录添加进数据库,在添加之前把记录删除:stmt.executeupdate(delete * from stuinfo where 书号 = +jtextfieldnum.gettext()+);这样在添加的时候就不会出现重复记录了。在输入修改图书信息和添加新书信息时一样,每项都得输入,并且格式输入正确(特指出版日期为日期格式mm-dd-yy),将信息都输入完后,就可以将输入的修改信息添加到数据库中了,具体添加的方法和上面的添加新书信息模块中的添加语句一样,在此略过。在把修改后的信息添加到数据库中之后,弹出 “修改信息成功”对话框。具体实现如下:joptionpane.showmessagedialog(null, 修改信息成功!);2.7查询图书信息在实现查询图书信息的模块中,第一步先得通过学号或者书名条件查询,两者的关系是或的关系,但是当两者都输入的时候就是且的关系了。其中可以有一个为空,但是不可以都为空。两个都为空或找不到,则提示相关错误信息。找到要修改的图书记录,再进入修改窗体进行对记录的修改。如果找到则显示找到的信息。图2-6 查询图书条件通过输入的条件在数据库中查找相关的记录。具体步骤如下:if(jtextfieldnum.gettext().trim().equals()|jtextfieldname.gettext().trim().equals() rs = stmt.executequery(select * from stuinfo where 书号=+jtextfieldnum.gettext()+ or 书名=+jtextfieldname.gettext()+);else if(jtextfieldnum.gettext().trim().equals()&jtextfieldname.gettext().trim().equals()joptionpane.showmessagedialog(null, 请至少输入一个条件, 警告,joptionpane.warning_message);elsers = stmt.executequery(select * from stuinfo where 书号=+jtextfieldnum.gettext()+ and 书名=+jtextfieldname.gettext()+)如果输入的条件中(书号或书名)有一项为空则可以继续进行下面的操作,和数据库连接,从数据库中查找符合条件的记录。并通过显示窗体显示。显示窗体和修改图书信息的窗体一样,只不过没有修改功能。把查询到的符合条件的一条记录通过显示图书信息窗体显示出来。2.8删除图书信息 在图书信息的删除模块中,首先通过学号查询,查询条件不可以为空,如果为空,则提示错误信息。输入学号后,系统连接数据库,从数据库中查找符合条件的记录。如果没找到,则提示没有找到符合条件的信息。如果找到,则首先调用显示记录窗体,让用户验证是否为准被删除的记录。如果是,则确定删除,在确定删除之后,还会弹出删除确定提示对话框: 图2-7删除确定提示if(joptionpane.showconfirmdialog(null, 确实要删除该生信息吗?n删除的信息将不能恢复,继续?,删除确定, joptionpane.ok_cancel_option, joptionpane.question_message) =0)stmt.executeupdate(delete * from stuinfo where 书号 = +jtextfieldnum.gettext()+);joptionpane.showmessagedialog(null, 删除信息成功!);allinfo allinfo = new allinfo();当删除成功后,会弹出“记录已删除”信息提示。2.9读者信息管理读者信息管理模块是在设计完图书信息管理模块后加上去的,其包括的几个模块和图书管理的基本相同,在access数据库中又加入了一个读者信息表,将读者的基本信息存在此表中,在读者信息管理下的几个模块中用到的信息记录也都是从此表中调用。图2-8 读者信息管理读者信息管理模块也包括五个窗体。浏览读者信息、添加读者信息、修改读者信息、查询读者信息、删除读者信息设计此模块时,基本是复制上面的图书管理模块的代码,将其中连数据库的地方改了改,其详细步骤和实现过程略过。此窗体是通过图书管理窗体界面上的一个按钮连接过来的。在调出此窗体时,原先的图书管理窗体并不关闭,使此窗体在图书管理窗体之上。看起来也比较美观。2.10 access数据库基本的界面和java程序都设计好了,数据库的设计也是必不可少的。在此次课程设计中,根据老师的要求还有自己所学的知识,本人采用的是access数据库管理。access使用标准的sql(structured query language,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。一个access数据库中可以包含表、查询、窗体、模块以及数据访问页。access数据库使用单一的*.mdb文件管理所有的信息,这种针对数据库集成的最优化文件结构不仅包括数据本身,也包括了它的支持对象。关于access数据库的具体操作过程,在此就不具体一一列出了。在此次的图书管理系统中,需要建立三个表,分别是图书信息表、读者信息表和管理员信息表。其中管理员信息表中只列了账号和密码两个字段,而图书信息和读者信息表中,分别列出了关于图书和读者的详细信息。图2-9 access数据库2.11本章小节本章为最主要的一章,介绍了此次课程设计实现的详细步骤,通过对图书管理系统的分析以及设计前的模块设计,从而更具体的逐步完善各个模块,基本完成了图书管理系统的管理员管理图书和读者信息部分。第3章 设计中遇到的重点及难点3.1重点及难点本次课程设计中遇到的重点是各个窗体中的控件的定义以及控件位置、大小、颜色等属性的设置,在定义和修改控件属性以及美化窗体方面花的时间比较多,在每添加一个控件,如标签,都得在程序开始定义控件,以及在后面的设置属性和将控件添加和显示到窗体上。例如定义一个按钮,那此按钮在整个程序中必须有以下几步:按钮控件的定义private jbutton addinfo = new jbutton();按钮控件的属性设置addinfo.settext(添加图书信息); addinfo.setvisible(true);设置为可见状态addinfo.setbounds(new rectangle(250, 526, 127, 33);设置控件位置addinfo.setforeground(color.white);设置字体颜色addinfo.setbackground(color.black);设置背景颜色为按钮控件添加事件监听addinfo.addactionlistener(new mainjframe_actionperformed(this);将按钮控件添加到主窗体上contentpane.add(addinfo); 本次课程设计中遇到的难点是为每个按钮控件添加时间监听和异常处理部分,在此就不详细举例了。3.2本章小节本章总结了在此次课程设计中的重点和遇到的难点,总的来说基本上都解决了。第4章 本次设计中存在不足与改良方案4.1不足与改良方案由于时间关系,本次所设计的图书管理系统只实现了管理员管理图书、读者信息的功能,而未能实现借阅者的借阅和图书查找等功能。改良方案:在读者信息和图书信息之间建立起连接,在读者信息中加入读者借过的图书,以及借阅的时间和归还期限。相应的在图书管理模块中也可以添加入借阅此书的读者的信息。还有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论