简单的图书管理系统_第1页
简单的图书管理系统_第2页
简单的图书管理系统_第3页
简单的图书管理系统_第4页
简单的图书管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、简单的图书管理系统学年设计任务书 学 院计算机与信息工程学院专 业网络工程学年设计名称简单应用系统设计题 目简单的图书管理系统完成期限自2014年6月30日至2014年8月30日共9周内容及任务一、项目的目的设计一个简单的图书管理系统二、项目任务的主要内容和要求(1)要有界面;(2)能够存储图书(包括图书编号、名称、作者、出版社名称、价格等);(3)能够查找出已存在的图书;(4)能够将新进的图书增加到图书管理系统里;(5)能够将不在馆的图书进行删除。(6)能够对在馆的图书进行修改。三、项目设计(研究)思路 实现Java与access数据库进行连接,进而实现简单图书管理系统的各种功能。四、具体成

2、果形式和要求 通过GUI图形用户界面中按钮对应的选项来实现对图书系统中图书修改、添加、删除等功能。进度安排起止日期工作内容630-7.15分析题目,进行资料查询7.16-8.25编写代码8.25-8.30进行代码调试,答辩并编写文档主要参考资料1赵生慧等. Java面向对象程序设计(第二版)M. 北京:中国水利水电出版社,2010.82万长选等. 数据库系统原理与设计(第2版)M. 北京:清华大学出版社,2012.93吴京慧等. 数据库系统原理与设计实验教程 M. 北京:清华大学出版社,2009.10指导教师意见(签字): 年 月 日系(教研室)主任意见(签字): 年 月 日简单的图书管理系统

3、学年设计任务书学院名称: 计算机与信息工程学院 班级名称: 网络工程122班 学生姓名: 学 号: 题 目: 简单的图书管理系统 指导教师姓 名: 起止日期: 第一部分:正文部分一、 选题背景 随着我国国民经济的迅速发展和人民日常生活水平的不断提高,人民的精神生活也有着显著提高,人们对图书馆藏书的需求也越来越高,随之就伴来图书馆图书数目不断增加,这也带来了图书管理技术的挑战,以前的人工流水技术已经不能适应当代的环境,取而代之的是现代先进的图书管理技术,通过使用Java编程并且链接数据库方法实现对图书的概览、借阅、入库、更新、删除等功能。当今图书管理系统的一个重要领地就是面对可模块化处理的信息。

4、我所开发的系统就是利用现代的管理技术来实现对图书的管理,改善对图书的规范管理,提高图书管理的效率,方便统计和图书借阅,以便图书馆更好的为人民、为国家服务。二、 方案论证(或设计理念) 本次学年设计我所选择的题目是:简单的图书管理系统,以便人们以后对图书馆更好的应用,本次方案有以下几个特点:采用数据库建模进行功能分析,划分登陆、概览、存储、更新、删除等子功能、E-R进行数据分析;基于Java Swing技术进行各模块的设计,采用Access进行数据库设计,JDBC-ODBC技术进行数据库连接;使用JCreator开发环境完成了系统的登陆、概览、存储、更新、删除等功能。三、过程论述3.1系统功能分

5、析本次设计的简单的图书管理系统分为登陆、概览、存储、查询、删除、修改密码这些功能。系统功能模块如图3-1所示: 简单的图书管理系统用户登陆图书概览图书查询图书存储图书删除修改密码图3-1 图书管理系统功能用户登录:根据数据库里已有的用户,输入用户名及密码进行登陆。图书概览:登陆进入过后可以看到数据库里的所有图书。图书查询:输入图书编号即可显示要查询的图书的信息。图书存储:选择本选项,然后输入图书对应信息,点击“保存”,即可保存。图书删除:输入要删除的图书编号,点击“删除”,即完成相应操作。修改密码:即对用户登录密码的修改。3. 2 系统数据分析出版社图书实体E-R图,如图3-2所示:入库时间单

6、价图书号作者图书名图书图3-2图书实体E-R图用户实体E-R图,如图3-3所示:用户用户名密码图3-3 用户实体E-R图3.2 系统架构设计如图3-4所示:开始用户登录图书概览图书查询修改密码图书删除图书存储结束判断判断YYNN图3-4系统架构设计3.3系统数据库设计建立数据库,本数据库采用Access 2000来创建,根据系统功能的分析需要创建2张表,分别是图书表(book),用户表(user)。1. 图书信息,如表3-1所示:表3-1 book表字段名称数据类型图书名文本图书号文本(主键)单价文本作者文本出版社文本入库时间文本2. 用户信息,如图3-2所示:表3-2 user表字段名称数据

7、类型用户名文本(主键)密码文本3.4系统实现3.4.1登录模块本模块实现图书管理系统的登录功能,登录过后才可以对图书管理系统进行操作。 public void confirm()/验证用户和密码是否存在 tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加载驱动程序失败!");tryString url = "jdbc:odbc:driver=Microsoft Access Driver (*

8、.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+&quo

9、t;'"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(

10、"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(); 3.4.1图书概览模块本模块主要是实现对图书馆里图书总览的功能,并且能够知道图书馆现在图书数量。

11、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 = &

12、quot;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);Stri

13、ng 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+"本")

14、;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("返回"

15、) f.hide(); 3.4.1 图书查询模块本模块主要实现对在馆图书进行查询,应用数据库查询语句进行查询。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&quo

16、t;/直接使用当前类目录下的数据库文件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

17、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,&qu

18、ot;您输入的图书号不存在,请重新输入", "输入错误", 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

19、(false); tf5.setEditable(false); tf6.setEditable(false);3.4.1图书删除模块本模块主要实现对不在馆图书进行删除,应用数据库删除语句进行删除,以便保持图书馆里图书数量正确。public void deleteRecord(int index) tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加载驱动程序失败!");tryString url = &

20、quot;jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql;String ql=(String)(arindex1);String s="delete * from book where 图书号 ='"+ql +"'" sql=con.createStatement(); int del=sql.ex

21、ecuteUpdate(s); if(del=1) JOptionPane.showMessageDialog(null,"删除成功!", "信息", JOptionPane.YES_NO_OPTION); con.close();f.repaint(); catch(SQLException g)System.out.println("E Code"+g.getErrorCode();System.out.println("E M"+g.getMessage(); public void actionPerfor

22、med(ActionEvent e) String remember=""String ql="" String cmd=e.getActionCommand(); if(cmd.equals("查询") ql=tf.getText().trim();remember=ql; showRecord(ql); if(cmd.equals("删除") int index=table.getSelectedRow(); if( index=-1) JOptionPane.showMessageDialog(null,&q

23、uot;请选定要删除的表格行", "输入错误", JOptionPane.YES_NO_OPTION); else deleteRecord(index); /showRecord(remember); if(cmd.equals("取消") f.hide(); 3.4.1图书存储模块本模块主要实现对新来的图书进行管理的功能,主要代码如下:public void insertRecord() if(tf1.getText().equals("")|tf2.getText().equals("")|tf3.

24、getText().equals("")| tf4.getText().equals("")|tf5.getText().equals("")|tf6.getText().equals("")JOptionPane.showMessageDialog(f3,"请填写图书资料");return; tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.

25、println("加载驱动程序失败!");tryString url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql;String s="insert into book values('"+tf1.getText()+"','"+tf2.getText(

26、)+"','"+tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');"/查询输入的图书号是否在数据库中存在 String query="select * from book where 图书号='"+tf2.getText()+"'"sql=con.createSta

27、tement(); ResultSet rs=sql.executeQuery(query);/返回查询结果集boolean moreRecords=rs.next();/判断结果集是否有数据 if(moreRecords) JOptionPane.showMessageDialog(f3,"图书号已经被使用,请重新输入"); con.close(); tf2.setText(""); return; int insert=sql.executeUpdate(s); if(insert=1) JOptionPane.showMessageDialog(n

28、ull,"图书信息录入成功!");tf1.setText("");tf2.setText("");tf3.setText("");tf4.setText("");tf5.setText("");tf6.setText(""); catch(SQLException g)System.out.println("E Code"+g.getErrorCode();System.out.println("E M"+g.get

29、Message(); 3.4.1用户密码修改模块本模块主要实现对用户密码修改的功能,主要代码如下:public void updateM() tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加载驱动程序失败!");tryString url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用当前

30、类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql=con.createStatement();String uname=name.getText().trim();String queryMima="select * from user where 用户名='"+uname+"'"ResultSet rs=sql.executeQuery(queryMima); if(rs.next() String newMima=tf2.getText().

31、trim(); String s="update user set 密码='"+newMima+"' where 用户名 ='"+uname +"'" sql=con.createStatement(); int updateMima=sql.executeUpdate(s); if(updateMima=1) JOptionPane.showMessageDialog(f,"密码修改成功!"); con.close(); f.repaint(); elseJOptionPane.s

32、howMessageDialog(null,"该用户不存在","警告!", JOptionPane.YES_NO_OPTION); name.setText("");tf1.setText("");tf2.setText("");tf3.setText(""); catch(SQLException g)System.out.println("E Code"+g.getErrorCode();System.out.println("E M&quo

33、t;+g.getMessage(); /-public void actionPerformed(ActionEvent e)String cmd=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; i

温馨提示

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

评论

0/150

提交评论