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

下载本文档

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

文档简介

主要内容、基本要求、主要参考资料等:1. 使用图形用户界面2. 用数据库建立图书信息表和借阅者。(不限使用哪种数据库)3. 能连接数据库并实现查询、增、删、改等功能4. 王克宏、郝建文。java技术教程。北京:清华大学出版社。20025. 周竞涛、赵寒。eclipse完全手册。北京:电子工业出版社,2006蒙祖强、龚涛。数据库java开发。北京:中国水利水电出版社。2006完 成 期 限: 2010/6/7-2010/6/14 指导教师签名: 课程负责人签名: 2010年 6月 12日目录一、引言。4二、需求分析。5三、总体设计。6四、详细设计。8五、实现和源程序。45六、课程设计心得与体会。49七、参考文献。49一、引言1.1项目的名称图书管理系统1.2项目背景和目标 背景:随着图书馆规模的不断扩大,图书数量的不断增多,有关图书的各种信息量也是成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书管理上的混乱,人力与物力过多浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和管理控制,因此,必须制定一套合理有效规范图书管理系统,对图书资料进行统一的管理。 另一方面,it产业和internet获得了飞速的发展,计算机应用已经渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高计算机管理的工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。目标:实现图书管理的图书入库、图书查询、图书删除。图书概览。修改密码等简单功能。1.3项目的可行性描述 课堂上老师的例子多是关于图书馆系统,而且上学期的数据库做的也是相关内容,因而对该系统相对比较熟悉。二、需求分析2.1 系统概述2.2 系统运行环境运行本软件所要求的硬设备的最小配置:内存:512m硬盘:80g说明为运行本软件所需要的支持软件,如:1.操作系统的名称windows、版本号xp;2 程序开发的ide: elipse3.数据库管理系统:access4.其他支持软件。2.3功能需求描述 本课题根据学生图书管理综合分析,便出于方便功能管理考虑,将学生图书管理系统的功能总结起来,其需要实现以下几个方面功能。系统共有4个功能模块:图书入库、图书查询、图书删除、图书概览、修改密码。支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、修改密码等。三、总体设计3.1开发和设计的总体思想实现图书管理的基本功能3.2系统模块结构图 图书删除图书概览修改密码图书查询图书入库系统开始判断成功判断输入密码失败退出退出33模块设计3.3模块功能图书入库、图书查询、图书删除、图书概览、修改密码34系统流程描述首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;然后判断,如果判断失败退出系统,否则进入图书管理系统的主界面。进入主界面后,用户要选择所需执行的功能,即通过鼠标点击相应项,来完成所需操作。3.5 数据库结构设计图书名图书号单价作者出版社入库时间表book表user用户名密码数据库表在图书管理系统中,共设计2张表。本系统使用access来创建数据表。1.表book字段名称数据类型图书名文本图书号文本(主键)单价文本作者文本出版社文本入库时间文本2.表user字段名称数据类型用户名文本(主键)密码文本四、 详细设计41主界面模块42模块设计同上43代码部分4.4 各主要模块介绍源程序(4.3/4.4均如下)程序代码1登陆界面:程序名login.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.container;import java.util.*;import java.sql.*; class login extends jframe implements actionlistener container cp=null; jframe f=null; jbutton j1,j2; jtextfield t1; jpasswordfield t2; jlabel jlable1,jlable2; color c; jpanel jp1,jp2; login() f=new jframe(小型图书管理系统);j1=new jbutton(确定);j2=new jbutton(取消);cp=f.getcontentpane();jlable1=new jlabel( 输入用户名);jlable2=new jlabel( 用户密码); jp1=new jpanel();jp2=new jpanel();t1=new jtextfield(18);t2=new jpasswordfield(18); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2);jp1.add(t2); jlabel jl=new jlabel(欢迎登陆,swingconstants.center); cp.add(jl,north);jp2.add(j1);jp2.add(j2); cp.add(jp1,center); cp.add(south,jp2);jp1.setbackground(new color(255,153,255); toolkit kit=toolkit.getdefaulttoolkit();dimension screen=kit.getscreensize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/setsize(x,y); /*让系统窗口平铺整个显示器窗口*/ f.setsize(300,300); int xcenter=(x-300)/2; int ycenter=(y-300)/2; f.setlocation(xcenter,ycenter);/*显示在窗口中央*/ f.setvisible(true); /- j1.addactionlistener(this);/注册事件监听器 j2.addactionlistener(this); f.addwindowlistener(new windowadapter()public void windowclosing(windowevent e)system.exit(0);); public void confirm()/验证用户和密码是否存在 tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);trystring url = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=book.mdb;/直接使用当前类目录下的数据库文件connection con=drivermanager.getconnection(url);statement sql=con.createstatement();string uname=t1.gettext().trim();string mima=t2.gettext().trim();string querymima=select * from user where 用户名=+uname+ and 密码=+mima+;resultset rs=sql.executequery(querymima); if(rs.next()new book(uname);f.hide(); con.close(); elsejoptionpane.showmessagedialog(null,该用户不存在,提示!, joptionpane.yes_no_option); t1.settext();t2.settext(); catch(sqlexception g)system.out.println(e code+g.geterrorcode();system.out.println(e m+g.getmessage(); public void actionperformed(actionevent e) string cmd=e.getactioncommand(); if(cmd.equals(确定) confirm(); else if(cmd.equals(取消) f.dispose(); public static void main(string arg) login a=new login(); 2图书概览:程序名bookbrower.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.container;import java.util.*;import java.sql.*;class bookbrower implements actionlistener jframe f;container cp;jpanel jps,jpanelwest;jbutton jbt1,jbt2;/按钮,查询、取消、修改jlabel label,l;/标签 /定义文本框jtable table;/用来接收数据库中返回的信息 object columnname=图书名,图书号,单价,作者,出版社,入库时间; object ar =new object806;string sno;string count=xx; bookbrower() f=new jframe();cp=f.getcontentpane(); / 初始化面板、按钮、标签、文本框jps=new jpanel(); jpanelwest=new jpanel();/-jbt1=new jbutton(确定); jbt2=new jbutton(返回); /-label=new jlabel(图书概览,swingconstants.center);label.setforeground(color.blue);l=new jlabel(书库现在共有图书+count+本);/- table=new jtable(ar,columnname);/ar存放表中的数据,columnname表示列名jscrollpane scrollpane = new jscrollpane(table);/-/布局,添加控件jps.add(jbt1);jps.add(jbt2);jpanel jpanel=new jpanel();jpanel.add(label);jpanel pp4=new jpanel(); jpanel jpe=new jpanel();cp.add(jpanel,north);jpanel jp=new jpanel();/jp.add(scrollpane);jpanel p=new jpanel();/用来放两个表p.setlayout(new borderlayout();p.add(l,north);p.add(scrollpane); cp.add(pp4,west);cp.add(p,center); cp.add(jps,south); cp.add(jpe,east);/- toolkit kit=toolkit.getdefaulttoolkit();dimension screen=kit.getscreensize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/ f.setsize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setlocation(xcenter,ycenter);/*显示在窗口中央*/ f.setvisible(true); /- jbt1.addactionlistener(this);/注册监听器 jbt2.addactionlistener(this); /* f.addwindowlistener(new windowadapter()public void windowclosing(windowevent e)system.exit(0););*/-int i=0; public void showrecord() while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0; tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);try string url = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=book.mdb;/直接使用当前类目录下的数据库文件 connection con=drivermanager.getconnection(url); string s=select * from book ; statement sql=con.createstatement(); resultset rs=sql.executequery(s); while(rs.next() string bname=rs.getstring(1);string bno=rs.getstring(2);string price=rs.getstring(3);string writer=rs.getstring(4);string publish=rs.getstring(5);string indate=rs.getstring(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count=+i+;l.settext(书库现在共有图书+count+本);f.repaint(); con.close(); catch(sqlexception g) system.out.println(e code+g.geterrorcode(); system.out.println(e m+g.getmessage(); public void actionperformed(actionevent e) string cmd=e.getactioncommand(); if(cmd.equals(确定) f.hide(); if(cmd.equals(返回) f.hide(); public static void main(string arg) bookbrower a=new bookbrower(); a.showrecord();3图书查询:程序名querybook.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.container;import java.util.*;import java.sql.*;class querybook implements actionlistener jframe f3;container cp;jpanel jp1,jp2,jp3,jp4,jp,jpanelwest;jbutton jbt1,jbt2;/按钮,确定、取消jlabel label;/标签:请输入图书号jtextfield tf,tf1,tf2,tf3,tf4,tf5,tf6; /定义文本框jlabel label1,label2,label3,label4; querybook() f3=new jframe();cp=f3.getcontentpane(); / 初始化面板、按钮、标签、文本框jp1=new jpanel(); jp2=new jpanel();jp3=new jpanel();jp4=new jpanel();jpanelwest=new jpanel();jp=new jpanel();/-jbt1=new jbutton(确定); jbt2=new jbutton(取消);/-label=new jlabel(请输入图书号:,swingconstants.center);label.setforeground(color.blue);tf=new jtextfield(20); /-tf1=new jtextfield(20);tf2=new jtextfield(20);tf3=new jtextfield(20);tf4=new jtextfield(20);tf5=new jtextfield(20); tf6=new jtextfield(20);/-/布局,添加控件jpanel jpanel=new jpanel();jpanel.add(label);jpanel.add(tf);jpanel pp4=new jpanel(); jpanel jpane4=new jpanel();cp.add(jpanel,north);jpanel pp2=new jpanel(new gridlayout(6,1);jpanel pp3=new jpanel();pp4.setlayout(new gridlayout(6,1);pp4.add(new jlabel(图书名,swingconstants.center);pp2.add(tf1);pp4.add(new jlabel(图书号,swingconstants.center);pp2.add(tf2);pp4.add(new jlabel(单 价,swingconstants.center);pp2.add(tf3);pp4.add(new jlabel(作 者,swingconstants.center);pp2.add(tf4);pp4.add(new jlabel(出版社,swingconstants.center);pp2.add(tf5);pp4.add(new jlabel(入库时间,swingconstants.center);pp2.add(tf6);pp3.add(jbt1); pp3.add(jbt2); cp.add(pp4,west);cp.add(pp2,center); cp.add(pp3,south); cp.add(jpane4,east);/- toolkit kit=toolkit.getdefaulttoolkit();dimension screen=kit.getscreensize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/f3.setsize(350,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setlocation(xcenter,ycenter);/*显示在窗口中央*/ f3.setvisible(true); /- jbt1.addactionlistener(this);/注册监听器 jbt2.addactionlistener(this); /*f3.addwindowlistener(new windowadapter()public void windowclosing(windowevent e)system.exit(0););*/-public void showrecord() tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);trystring url = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=book.mdb;/直接使用当前类目录下的数据库文件connection con=drivermanager.getconnection(url);statement sql;string ql=tf.gettext().trim();string s=select * from book where 图书号 =+ql +; sql=con.createstatement(); resultset rs=sql.executequery(s); if(rs.next() string bname=rs.getstring(1);string bno=rs.getstring(2);string price=rs.getstring(3);string writer=rs.getstring(4);string publish=rs.getstring(5);string indate=rs.getstring(6);tf1.settext(bname);tf2.settext(bno);tf3.settext(price);tf4.settext(writer);tf5.settext(publish);tf6.settext(indate); else joptionpane.showmessagedialog(null,您输入的图书号不存在,请重新输入, 输入错误, joptionpane.yes_no_option); con.close(); catch(sqlexception g)system.out.println(e code+g.geterrorcode();system.out.println(e m+g.getmessage(); tf1.seteditable(false); tf2.seteditable(false); tf3.seteditable(false); tf4.seteditable(false); tf5.seteditable(false); tf6.seteditable(false);public void actionperformed(actionevent e) string cmd=e.getactioncommand(); if(cmd.equals(确定) showrecord();tf.settext(); else if(cmd.equals(取消) f3.hide(); public static void main(string arg) querybook a=new querybook();4图书删除:程序名removebook.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.container;import java.util.*;import java.sql.*;class removebook implements actionlistener jframe f;container cp;jpanel jps,jpanelwest;jbutton jbt1,jbt2,jbt3;/按钮,查询、取消、修改jlabel label,l;/标签:请输入学号jtextfield tf; /定义文本框jtable table;/用来接收数据库中返回的信息 object columnname=图书名,图书号,单价,作者,出版社,入库时间; object ar =new object806;string sno;string count=xx; removebook() f=new jframe();cp=f.getcontentpane(); / 初始化面板、按钮、标签、文本框jps=new jpanel(); jpanelwest=new jpanel();/-jbt1=new jbutton(查询); jbt2=new jbutton(取消); jbt3=new jbutton(删除);/-label=new jlabel(请输入要删除的图书名:,swingconstants.center);label.setforeground(color.blue);l=new jlabel(该种图书共有+count+本);/- table=new jtable(ar,columnname);/ar存放表中的数据,columnname表示列名jscrollpane scrollpane = new jscrollpane(table);/-tf=new jtextfield(18); /-/-/布局,添加控件jps.add(jbt1);jps.add(jbt2);jps.add(jbt3);jpanel jpanel=new jpanel();jpanel.add(label);jpanel.add(tf);jpanel pp4=new jpanel(); jpanel jpe=new jpanel();cp.add(jpanel,north);jpanel jp=new jpanel();/jp.add(scrollpane);jpanel p=new jpanel();/用来放两个表p.setlayout(new borderlayout();p.add(l,north);p.add(scrollpane); cp.add(pp4,west);cp.add(p,center); cp.add(jps,south); cp.add(jpe,east);/- toolkit kit=toolkit.getdefaulttoolkit();dimension screen=kit.getscreensize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/f.setsize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setlocation(xcenter,ycenter);/*显示在窗口中央*/ f.setvisible(true); /- jbt1.addactionlistener(this);/注册监听器 jbt2.addactionlistener(this); jbt3.addactionlistener(this); /*f.addwindowlistener(new windowadapter()public void windowclosing(windowevent e)system.exit(0););*/-int i=0; public void showrecord(string ql) while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0; tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);try string url = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=book.mdb;/直接使用当前类目录下的数据库文件 connection con=drivermanager.getconnection(url); statement sql; string s=select * from book where 图书名 =+ql +; sql=con.createstatement(); resultset rs=sql.executequery(s); while(rs.next() string bname=rs.getstring(1);string bno=rs.getstring(2);string price=rs.getstring(3);string writer=rs.getstring(4);string publish=rs.getstring(5);string indate=rs.getstring(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count=+i+;l.settext(该种图书共有+count+本);f.repaint(); con.close();system.out.println(ar01); catch(sqlexception g) system.out.println(e code+g.geterrorcode(); system.out.println(e m+g.getmessage(); public void deleterecord(int index) tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);trystring url = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=book

温馨提示

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

最新文档

评论

0/150

提交评论