简单的图书管理系统知识分享.docx

上传人:b****5 文档编号:6661473 上传时间:2023-01-08 格式:DOCX 页数:21 大小:111.73KB
下载 相关 举报
简单的图书管理系统知识分享.docx_第1页
第1页 / 共21页
简单的图书管理系统知识分享.docx_第2页
第2页 / 共21页
简单的图书管理系统知识分享.docx_第3页
第3页 / 共21页
简单的图书管理系统知识分享.docx_第4页
第4页 / 共21页
简单的图书管理系统知识分享.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

简单的图书管理系统知识分享.docx

《简单的图书管理系统知识分享.docx》由会员分享,可在线阅读,更多相关《简单的图书管理系统知识分享.docx(21页珍藏版)》请在冰豆网上搜索。

简单的图书管理系统知识分享.docx

简单的图书管理系统知识分享

简单的图书管理系统学年设计任务书

学院

计算机与信息工程学院

专业

网络工程

学年设计名称

简单应用系统设计

题目

简单的图书管理系统

完成期限

自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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1