版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简单的图书管理系统学年设计任务书学院计算机与信息工程学院专业网络工程学年设计名简单应用系统设计题目简单的图书管理系统称完成期限自2014年6月30日至2014年8月30日共9周一、项目的目的设一个简单的图书管理系统二、项目任务的主要内容和要求(1)要有界面;(2)能够存储图书(包括图书编号、名称、作者、出版社名称、内容及任务价格等);(3)能够查找出已存在的图书;(4)能够将新进的图书增加到图书管理系统里;(5)能够将不在馆的图书进行删除。(6)能够对在馆的图书进行修改。三、项目设计(研究)思路实现Java与access数据库进行连接,进而实现简单图书管理系统的各种功能。四、具体成果形式和要求
2、通过GUI图形用户界面中按钮对应的选项来实现对图书系统中图书修改、添加、删除等功能。进起止日期工作内容度6.30-7.15分析题目,进行资料查询安7.16-8.25编写代码排8.25-8.30进行代码调试,答辩并编写文档3主要参考资料1赵生慧等.Java面向对象程序设计(第二版)M.北京:中国水利水电出版社,2010.82万长选等.数据库系统原理与设计(第2版)M.北京:清华大学出版社,2012.93吴京慧等.数据库系统原理与设计实验教程M.北京:清华大学出版社,2009.10指导教师意见(签字):年月日系(教研室)主任意见(签字):年月日学院名称:计算机与信息工程学院班级名称:网络工程122
3、班学生姓名:学号:题目:简单的图书管理系统指导教师姓名:起止日期:第一部分:正文部分1、 选题背景随着我国国民经济的迅速发展和人民日常生活水平的不断提高,人民的精神生活也有着显著提高,人们对图书馆藏书的需求也越来越高,随之就伴来图书馆图书数目不断增加,这也带来了图书管理技术的挑战,以前的人工流水技术已经不能适应当代的环境,取而代之的是现代先进的图书管理技术,通过使用Java编程并且链接数据库方法实现对图书的概览、借阅、入库、更新、删除等功能。当今图书管理系统的一个重要领地就是面对可模块化处理的信息。我所开发的系统就是利用现代的管理技术来实现对图书的管理,改善对图书的规范管理,提高图书管理的效率
4、,方便统计和图书借阅,以便图书馆更好的为人民、为国家服务。2、 方案论证(或设计理念)本次学年设计我所选择的题目是:简单的图书管理系统,以便人们以后对图书馆更好的应用,本次方案有以下几个特点:采用数据库建模进行功能分析,划分登陆、概览、存储、更新、删除等子功能、E-R进行数据分析;基于JavaSwing技术进行各模块的设计,采用Access进行数据库设计,JDBC-ODBC术进行数据库连接;使用JCreator开发环境完成了系统的登陆、概览、存储、更新、删除等功能。三、过程论述3.1系统功能分析本次设计的简单的图书管理系统分为登陆、概览、存储、查询、删除、修改密码这些功能。系统功能模块如图3-
5、1所示:图3-1图书管理系统功能用户登录:根据数据库里已有的用户,输入用户名及密码进行登陆。图书概览:登陆进入过后可以看到数据库里的所有图书。图书查询:输入图书编号即可显示要查询的图书的信息。图书存储:选择本选项,然后输入图书对应信息,点击“保存”,即可保存图书删除:输入要删除的图书编号,点击“删除”,即完成相应操作。修改密码:即对用户登录密码的修改。3.2系统数据分析图3-2图书实体E-R图用户实体E-R图,如图3-3所示:3.2系统架构设计如图3-4所示:图 书 概 览图 书 查 询结束图3-4系统架构设计3.3 系统数据库设计建立数据库,本数据库采用Access2000来创建,根据系统功
6、能的分析需要创建2张表,分别是图书表(book),用户表(user)。1. 图书信息,如表3-1所示:表3-1book表字段名称数据类型图书名文本图书号文本(主键)单价文本作者文本出版社文本入库时间文本2. 用户信息,如图3-2所示:表3-2user表字段名称数据类型用户名文本(主键)密码文本3.4 系统实现3.4.1 登录模块本模块实现图书管理系统的登录功能,登录过后才可以对图书管理系统进行操作。publicvoidconfirm()/验证用户和密码是否存在tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(Cla
7、ssNotFoundExceptione)System.out.println("加载驱动程序失败!");tryStringurl="jdbc:odbc:driver=MicrosoftAccessDriver(*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connectioncon=DriverManager.getConnection(url);Statementsql=con.createStatement();Stringuname=t1.getText().trim();StringMima=t2.getText()
8、.trim();StringqueryMima="select*fromuserwhere用户名='"+uname+"'and密码='"+Mima+"'"ResultSetrs=sql.executeQuery(queryMima);if(rs.next()newBook(uname);f.hide();con.close();elseJOptionPane.showMessageDialog(null,"该用户不存在","提示!",JOptionPane.YES
9、_NO_OPTION);t1.setText("");t2.setText("");catch(SQLExceptiong)System.out.println("ECode"+g.getErrorCode();System.out.println("EM"+g.getMessage();publicvoidactionPerformed(ActionEvente)Stringcmd=e.getActionCommand();if(cmd.equals("确定")confirm();elseif
10、(cmd.equals("取消")f.dispose();3.4.2 图书概览模块本模块主要是实现对图书馆里图书总览的功能,并且能够知道图书馆现在图书数量。publicvoidshowRecord()while(i>=0)ari0=""ari1=""ari2=""ari3=""ari4=""ari5=""i-;i=0;tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(Cl
11、assNotFoundExceptione)System.out.println("加载驱动程序失败!");tryStringurl="jdbc:odbc:driver=MicrosoftAccessDriver(*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connectioncon=DriverManager.getConnection(url);Strings="select*frombook"Statementsql=con.createStatement();ResultSetrs=sql.exe
12、cuteQuery(s);while(rs.next()Stringbname=rs.getString(1);Stringbno=rs.getString(2);Stringprice=rs.getString(3);Stringwriter=rs.getString(4);Stringpublish=rs.getString(5);Stringindate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+;count=""+i+"&quo
13、t;L.setText("图书馆现在共有图书"+count+"本");f.repaint();con.close();catch(SQLExceptiong)System.out.println("ECode"+g.getErrorCode();System.out.println("EM"+g.getMessage();publicvoidactionPerformed(ActionEvente)Stringcmd=e.getActionCommand();if(cmd.equals("确定"
14、)f.hide();if(cmd.equals("返回")f.hide();3.4.1图书查询模块本模块主要实现对在馆图书进行查询,应用数据库查询语句进行查询。publicvoidshowRecord()try加载驱DriverClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExceptione)System.out.println("动程序失败!");tryStringurl="jdbc:odbc:driver=MicrosoftAccess
15、(*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connectioncon=DriverManager.getConnection(url);Statementsql;Stringql=tf.getText().trim();Strings="select*frombookwhere图书号='"+ql+"'"sql=con.createStatement();ResultSetrs=sql.executeQuery(s);if(rs.next()Stringbname=rs.getString(1);
16、Stringbno=rs.getString(2);Stringprice=rs.getString(3);Stringwriter=rs.getString(4);Stringpublish=rs.getString(5);Stringindate=rs.getString(6);tf1.setText(bname);tf2.setText(bno);tf3.setText(price);tf4.setText(writer);tf5.setText(publish);tf6.setText(indate);elseJOptionPane.showMessageDialog(null,&qu
17、ot;您输入的图书号不存在,请重新输入","输入错误",JOptionPane.YES_NO_OPTION);con.close();catch(SQLExceptiong)System.out.println("ECode"+g.getErrorCode();System.out.println("EM"+g.getMessage();tf1.setEditable(false);tf2.setEditable(false);tf3.setEditable(false);tf4.setEditable(false);tf5
18、.setEditable(false);tf6.setEditable(false);3.4.1图书删除模块本模块主要实现对不在馆图书进行删除,应用数据库删除语句进行删除,以便保持图书馆里图书数量正确。publicvoiddeleteRecord(intindex)tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");加载驱Drivercatch(ClassNotFoundExceptione)System.out.println("动程序失败!");tryStringurl="jdbc:odbc:d
19、river=MicrosoftAccess(*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connectioncon=DriverManager.getConnection(url);Statementsql;Stringql=(String)(arindex1);Strings="delete*frombookwhere图书号='"+ql+"'"sql=con.createStatement();intdel=sql.executeUpdate(s);if(del=1)JOptionPane.sho
20、wMessageDialog(null,"删除成功!"信息",JOptionPane.YES_NO_OPTION);con.close();f.repaint();catch(SQLExceptiong)System.out.println("ECode"+g.getErrorCode();System.out.println("EM"+g.getMessage();publicvoidactionPerformed(ActionEvente)Stringremember=""Stringql="
21、;"Stringcmd=e.getActionCommand();if(cmd.equals("查询")ql=tf.getText().trim();remember=ql;showRecord(ql);if(cmd.equals("删除")intindex=table.getSelectedRow();if(index=-1)JOptionPane.showMessageDialog(null,"请选定要删除的表格行","输入错误",JOptionPane.YES_NO_OPTION);elsedele
22、teRecord(index);/showRecord(remember);if(cmd.equals("取消")f.hide();3.4.1图书存储模块本模块主要实现对新来的图书进行管理的功能,主要代码如下:publicvoidinsertRecord()if(tf1.getText().equals("")|tf2.getText().equals("")|tf3.getText().equals("")|tf4.getText().equals("")|tf5.getText().equa
23、ls("")|tf6.getText().equals("")JOptionPane.showMessageDialog(f3,"请填写图书资料");return;tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExceptione)System.out.println("加载驱动程序失败!");tryStringurl="jdbc:odbc:driver=MicrosoftAccessDriver
24、(*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connectioncon=DriverManager.getConnection(url);Statementsql;Strings="insertintobookvalues('"+tf1.getText()+"','"+tf2.getText()+"','"+tf3.getText()+"','"+tf4.getText()+"','"
25、;+tf5.getText()+"','"+tf6.getText()+"');"/查询输入的图书号是否在数据库中存在Stringquery="select*frombookwhere图书号='"+tf2.getText()+"'"sql=con.createStatement();ResultSetrs=sql.executeQuery(query);/返回查询结果集booleanmoreRecords=rs.next();/判断结果集是否有数据if(moreRecords
26、)JOptionPane.showMessageDialog(f3,"图书号已经被使用,请重新输入");con.close();tf2.setText("");return;intinsert=sql.executeUpdate(s);if(insert=1)JOptionPane.showMessageDialog(null,"图书信息录入成功!");tf1.setText("");tf2.setText("");tf3.setText("");tf4.setText(&q
27、uot;");tf5.setText("");tf6.setText("");catch(SQLExceptiong)System.out.println("ECode"+g.getErrorCode();System.out.println("EM"+g.getMessage();3.4.1用户密码修改模块本模块主要实现对用户密码修改的功能,主要代码如下:publicvoidupdateM()tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"
28、;);catch(ClassNotFoundExceptione)System.out.println("加载驱动程序失败!");tryStringurl="jdbc:odbc:driver=MicrosoftAccessDriver(*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connectioncon=DriverManager.getConnection(url);Statementsql=con.createStatement();Stringuname=name.getText().trim();Stringque
29、ryMima="select*fromuserwhere用户名='"+uname+"'"ResultSetrs=sql.executeQuery(queryMima);if(rs.next()StringnewMima=tf2.getText().trim();Strings="updateuserset密码='"+newMima+"'where用户名='"+uname+"'"sql=con.createStatement();intupdateM
30、ima=sql.executeUpdate(s);if(updateMima=1)JOptionPane.showMessageDialog(f,"密码修改成功!");con.close();f.repaint();elseJOptionPane.showMessageDialog(null,"该用户不存在","警告!",JOptionPane.YES_NO_OPTION);name.setText("");tf1.setText("");tf2.setText("");tf
31、3.setText("");catch(SQLExceptiong)System.out.println("ECode"+g.getErrorCode();System.out.println("EM"+g.getMessage();/publicvoidactionPerformed(ActionEvente)Stringcmd=e.getActionCommand();if(cmd.equals("确定")if(name.getText().equals("")|tf1.getText().equals("")|tf2.getText().equals("")|tf3.getText().equals("")JOptionPane.showMessageDialog(null,”请填写用户的所有信息","提示",JOptionPane.YES_NO_OPTION);return;if(tf2.getText().trim().equals(tf3.getText().trim()updateM();elsei
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- flash 课件教学课件
- 自愿放弃孩子协议书(2篇)
- 购买籽种合同范本(2篇)
- 高中技术《技术与设计II》课堂强化练习
- 节妇吟课件教学课件
- 南京航空航天大学《短片创作》2021-2022学年第一学期期末试卷
- 南京工业大学浦江学院《数值分析》2023-2024学年第一学期期末试卷
- 毕业论文(设计)-香榭美临住宅楼工程施工组织设计
- 深圳人民医院幕墙工程施工组织设计
- 《致橡树》说课稿
- 高危儿规范化健康管理专家共识解读
- 2024至2030年中国连续热镀铝硅合金钢板行业市场深度分析及发展趋势预测报告
- 05G335单层工业厂房钢筋混凝土柱
- 2024年全国各地中考语文真题分类汇编【第二辑】专题07 文言文对比阅读(含答案)
- DL∕T 899-2012 架空线路杆塔结构荷载试验
- 2024年深圳公司试用期员工劳动合同范文(二篇)
- QBT 102T-2023 甜菜糖厂设计规范 (正式版)
- 2023年上海市闵行区中考二模语文试卷含详解
- 2024年山东济南新旧动能转换起步区专职网格员招聘笔试冲刺题(带答案解析)
- 国家开放大学《理工英语3》章节测试参考答案
- 智能手机维修技术第二版全套教学课件
评论
0/150
提交评论