简单的图书管理系统知识分享.docx
- 文档编号:6661473
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:21
- 大小:111.73KB
简单的图书管理系统知识分享.docx
《简单的图书管理系统知识分享.docx》由会员分享,可在线阅读,更多相关《简单的图书管理系统知识分享.docx(21页珍藏版)》请在冰豆网上搜索。
简单的图书管理系统知识分享
简单的图书管理系统学年设计任务书
学院
计算机与信息工程学院
专业
网络工程
学年设计名称
简单应用系统设计
题目
简单的图书管理系统
完成期限
自2014年6月30日至2014年8月30日共9周
内
容
及
任
务
一、项目的目的
设计一个简单的图书管理系统
二、项目任务的主要内容和要求
(1)要有界面;
(2)能够存储图书(包括图书编号、名称、作者、出版社名称、价格等);
(3)能够查找出已存在的图书;
(4)能够将新进的图书增加到图书管理系统里;
(5)能够将不在馆的图书进行删除。
(6)能够对在馆的图书进行修改。
三、项目设计(研究)思路
实现Java与access数据库进行连接,进而实现简单图书管理系统的各种功能。
四、具体成果形式和要求
通过GUI图形用户界面中按钮对应的选项来实现对图书系统中图书修改、添加、删除等功能。
进
度
安
排
起止日期
工作内容
6.30-7.15
分析题目,进行资料查询
7.16-8.25
编写代码
8.25-8.30
进行代码调试,答辩并编写文档
主
要
参
考
资
料
[1]赵生慧等.Java面向对象程序设计(第二版)[M].北京:
中国水利水电出版社,2010.8
[2]万长选等.数据库系统原理与设计(第2版)[M].北京:
清华大学出版社,2012.9
[3]吴京慧等.数据库系统原理与设计实验教程[M].北京:
清华大学出版社,2009.10
指导教师
意见
(签字):
年月日
系(教研室)主任意见
(签字):
年月日
简单的图书管理系统学年设计任务书
学院名称:
计算机与信息工程学院
班级名称:
网络工程122班
学生姓名:
学号:
题目:
简单的图书管理系统
指导教师
姓名:
起止日期:
第一部分:
正文部分
一、选题背景
随着我国国民经济的迅速发展和人民日常生活水平的不断提高,人民的精神生活也有着显著提高,人们对图书馆藏书的需求也越来越高,随之就伴来图书馆图书数目不断增加,这也带来了图书管理技术的挑战,以前的人工流水技术已经不能适应当代的环境,取而代之的是现代先进的图书管理技术,通过使用Java编程并且链接数据库方法实现对图书的概览、借阅、入库、更新、删除等功能。
当今图书管理系统的一个重要领地就是面对可模块化处理的信息。
我所开发的系统就是利用现代的管理技术来实现对图书的管理,改善对图书的规范管理,提高图书管理的效率,方便统计和图书借阅,以便图书馆更好的为人民、为国家服务。
二、方案论证(或设计理念)
本次学年设计我所选择的题目是:
简单的图书管理系统,以便人们以后对图书馆更好的应用,本次方案有以下几个特点:
⑴采用数据库建模进行功能分析,划分登陆、概览、存储、更新、删除等子功能、E-R进行数据分析;
⑵基于JavaSwing技术进行各模块的设计,采用Access进行数据库设计,JDBC-ODBC技术进行数据库连接;
⑶使用JCreator开发环境完成了系统的登陆、概览、存储、更新、删除等功能。
三、过程论述
3.1系统功能分析
本次设计的简单的图书管理系统分为登陆、概览、存储、查询、删除、修改密码这些功能。
系统功能模块如图3-1所示:
图3-1图书管理系统功能
⑴用户登录:
根据数据库里已有的用户,输入用户名及密码进行登陆。
⑵图书概览:
登陆进入过后可以看到数据库里的所有图书。
⑶图书查询:
输入图书编号即可显示要查询的图书的信息。
⑷图书存储:
选择本选项,然后输入图书对应信息,点击“保存”,即可保存。
⑸图书删除:
输入要删除的图书编号,点击“删除”,即完成相应操作。
⑹修改密码:
即对用户登录密码的修改。
3.2系统数据分析
图书实体E-R图,如图3-2所示:
图3-2图书实体E-R图
用户实体E-R图,如图3-3所示:
图3-3用户实体E-R图
3.2系统架构设计
如图3-4所示:
图3-4系统架构设计
3.3系统数据库设计
建立数据库,本数据库采用Access2000来创建,根据系统功能的分析需要创建2张表,分别是图书表(book),用户表(user)。
1.图书信息,如表3-1所示:
表3-1book表
字段名称
数据类型
图书名
文本
图书号
文本(主键)
单价
文本
作者
文本
出版社
文本
入库时间
文本
2.用户信息,如图3-2所示:
表3-2user表
字段名称
数据类型
用户名
文本(主键)
密码
文本
3.4系统实现
3.4.1登录模块
本模块实现图书管理系统的登录功能,登录过后才可以对图书管理系统进行操作。
publicvoidconfirm()//验证用户和密码是否存在
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Statementsql=con.createStatement();
Stringuname=t1.getText().trim();
StringMima=t2.getText().trim();
StringqueryMima="select*fromuserwhere用户名='"+uname+"'and密码='"+Mima+"'";
ResultSetrs=sql.executeQuery(queryMima);
if(rs.next())
{
newBook(uname);
f.hide();
con.close();
}else{
JOptionPane.showMessageDialog(null,"该用户不存在","提示!
",
JOptionPane.YES_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(cmd.equals("取消")){
f.dispose();
}
}
3.4.1图书概览模块
本模块主要是实现对图书馆里图书总览的功能,并且能够知道图书馆现在图书数量。
publicvoidshowRecord()
{
while(i>=0)
{
ar[i][0]="";
ar[i][1]="";
ar[i][2]="";
ar[i][3]="";
ar[i][4]="";
ar[i][5]="";
i--;
}
i=0;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Strings="select*frombook";
Statementsql=con.createStatement();
ResultSetrs=sql.executeQuery(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);
ar[i][0]=bname;
ar[i][1]=bno;
ar[i][2]=price;
ar[i][3]=writer;
ar[i][4]=publish;
ar[i][5]=indate;
i++;
}
count=""+i+"";
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("确定"))
{
f.hide();
}
if(cmd.equals("返回"))
f.hide();
}
3.4.1图书查询模块
本模块主要实现对在馆图书进行查询,应用数据库查询语句进行查询。
publicvoidshowRecord()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.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);
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);
}
else
{JOptionPane.showMessageDialog(null,"您输入的图书号不存在,请重新输入",
"输入错误",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.setEditable(false);
tf6.setEditable(false);
}
3.4.1图书删除模块
本模块主要实现对不在馆图书进行删除,应用数据库删除语句进行删除,以便保持图书馆里图书数量正确。
publicvoiddeleteRecord(intindex)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Statementsql;
Stringql=(String)(ar[index][1]);
Strings="delete*frombookwhere图书号='"+ql+"'";
sql=con.createStatement();
intdel=sql.executeUpdate(s);
if(del==1)
{JOptionPane.showMessageDialog(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="";
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);
else{
deleteRecord(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().equals("")||tf6.getText().equals(""))
{
JOptionPane.showMessageDialog(f3,"请填写图书资料");
return;
}
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Statementsql;
Strings="insertintobookvalues('"+tf1.getText()+"','"+tf2.getText()+"','"+
tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";
//查询输入的图书号是否在数据库中存在
Stringquery="select*frombookwhere图书号='"+tf2.getText()+"'";
sql=con.createStatement();
ResultSetrs=sql.executeQuery(query);//返回查询结果集
booleanmoreRecords=rs.next();//判断结果集是否有数据
if(moreRecords)
{
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("");
tf5.setText("");
tf6.setText("");
}
}catch(SQLExceptiong)
{
System.out.println("ECode"+g.getErrorCode());
System.out.println("EM"+g.getMessage());
}
}
3.4.1用户密码修改模块
本模块主要实现对用户密码修改的功能,主要代码如下:
publicvoidupdateM()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Statementsql=con.createStatement();
Stringuname=name.getText().trim();
StringqueryMima="select*fromuserwhere用户名='"+uname+"'";
ResultSetrs=sql.executeQuery(queryMima);
if(rs.next())
{
StringnewMima=tf2.getText().trim();
Strings="updateuserset密码='"+newMima+"'where用户名='"+uname+"'";
sql=con.createStatement();
intupdateMima=sql.executeUpdate(s);
if(updateMima==1)
{
JOptionPane.showMessageDialog(f,"密码修改成功!
");
}
con.close();
f.repaint();
}else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 图书 管理 系统 知识 分享