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开发环境完成了系统的登陆、概览、存储、更新、删除等功能。三、过
5、程论述3.1系统功能分析本次设计的简单的图书管理系统分为登陆、概览、存储、查询、删除、修改密码这些功能。系统功能模块如图3-1所示: 图3-1 图书管理系统功能用户登录:根据数据库里已有的用户,输入用户名及密码进行登陆。图书概览:登陆进入过后可以看到数据库里的所有图书。图书查询:输入图书编号即可显示要查询的图书的信息。图书存储:选择本选项,然后输入图书对应信息,点击“保存”,即可保存。图书删除:输入要删除的图书编号,点击“删除”,即完成相应操作。修改密码:即对用户登录密码的修改。3. 2 系统数据分析图书实体E-R图,如图3-2所示:图3-2图书实体E-R图用户实体E-R图,如图3-3所示:图
6、3-3 用户实体E-R图3.2 系统架构设计如图3-4所示:图3-4系统架构设计3.3系统数据库设计建立数据库,本数据库采用Access 2000来创建,根据系统功能的分析需要创建2张表,分别是图书表(book),用户表(user)。1.图书信息,如表3-1所示:表3-1 book表字段名称数据类型图书名文本图书号文本(主键)单价文本作者文本出版社文本入库时间文本2.用户信息,如图3-2所示:表3-2 user表字段名称数据类型用户名文本(主键)密码文本3.4系统实现3.4.1登录模块本模块实现图书管理系统的登录功能,登录过后才可以对图书管理系统进行操作。 public void confir
7、m()/验证用户和密码是否存在 try Class.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=con.createSta
8、tement(); 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(); else JOptionPane.showMessageDialog(null,该用户不存在,提示!, JOption
9、Pane.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(); 3.4.1
10、图书概览模块本模块主要是实现对图书馆里图书总览的功能,并且能够知道图书馆现在图书数量。public void showRecord() while(i=0) ari0=; ari1=; ari2=; ari3=; ari4=; ari5=; i-; i=0; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!); try String url = jdbc:odbc:driver=Microsoft Access Driver (
11、*.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 w
12、riter=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(); Sys
13、tem.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(); 3.4.1 图书查询模块本模块主要实现对在馆图书进行查询,应用数据库查询语句进行查询。public void showRecord() try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotF
14、oundException 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 ql=tf.getText().trim(); String s=select * from book where 图书号 =+ql +; sql=con.createS
15、tatement(); 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); t
16、f4.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
17、.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); tf5.setEditable(false); tf6.setEditable(false); 3.4.1图书删除模块本模块主要实现对不在馆图书进行删除,应用数据库删除语句进行删除,以便保持图书馆里图书数量正确。public void deleteRecord(int index) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.ou
18、t.println(加载驱动程序失败!); try String url = 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
19、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 actionPerformed(ActionEvent e) String remember=; String q
20、l=; 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,请选定要删除的表格行, 输入错误, JOptionPane.YES_NO_OPTION); else deleteRecord(index); /showRecord(remembe
21、r); if(cmd.equals(取消) f.hide(); 3.4.1图书存储模块本模块主要实现对新来的图书进行管理的功能,主要代码如下:public void insertRecord() if(tf1.getText().equals()|tf2.getText().equals()|tf3.getText().equals()| tf4.getText().equals()|tf5.getText().equals()|tf6.getText().equals() JOptionPane.showMessageDialog(f3,请填写图书资料); return; try Class
22、.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=insert into book values(+tf1
23、.getText()+,+tf2.getText()+,+ tf3.getText()+,+tf4.getText()+,+tf5.getText()+,+tf6.getText()+); /查询输入的图书号是否在数据库中存在 String query=select * from book where 图书号=+tf2.getText()+; sql=con.createStatement(); ResultSet rs=sql.executeQuery(query);/返回查询结果集 boolean moreRecords=rs.next();/判断结果集是否有数据 if(moreRecor
24、ds) JOptionPane.showMessageDialog(f3,图书号已经被使用,请重新输入); con.close(); tf2.setText(); return; int insert=sql.executeUpdate(s); if(insert=1) JOptionPane.showMessageDialog(null,图书信息录入成功!); tf1.setText(); tf2.setText(); tf3.setText(); tf4.setText(); tf5.setText(); tf6.setText(); catch(SQLException g) Syste
25、m.out.println(E Code+g.getErrorCode(); System.out.println(E M+g.getMessage(); 3.4.1用户密码修改模块本模块主要实现对用户密码修改的功能,主要代码如下:public void updateM() try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!); try String url = jdbc:odbc:driver=Microsoft Access
26、Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件 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().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(); else
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1