Java技能实训图书馆管理系统.docx
- 文档编号:9958347
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:14
- 大小:105.49KB
Java技能实训图书馆管理系统.docx
《Java技能实训图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《Java技能实训图书馆管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
Java技能实训图书馆管理系统
课程设计报告
课程名称:
技术综合应用实训
设计题目:
图书管理系统设计与制作
院(系):
计算机学院
专业年级:
计算机科学与技术2014级
学号:
141210115
姓名:
指导教师:
2016年12月19日
1需求分析
1.1系统介绍
图书管理系统是一款在线的对图书及其信息进行管理的应用软件,该系统可实现图书信息的输入、查询、修改、删除等功能,另外,该系统需要用户进行登录认证,增加了系统中图书信息的安全性。
1.2功能介绍
登录功能:
运行系统之后,需输入相应的账号和密码进行登录,当用户输入完毕,系统自动查询数据库与之对比,数据一致,则进入系统主界面,否则,提示用户账号或密码输入错误。
增加功能:
点击主界面“图书入库”,用户需要在弹出的对话框内输入“图书名”、“图书号”、“作者”、“出版社”等信息,输入完毕后点击“确定”按钮,即可完成。
删除功能:
点击主界面“图书删除”,只需要用户输入图书号,系统会自动查询数据库,调出相应的图书信息,选中之后点击“确定”即可删除图书信息。
查看功能:
点击主界面“图书概览”,系统会将数据库中的所有图书信息以列表形式展示给用户。
修改功能:
点击主界面“修改密码”,输入相应信息即可实现对该用户的密码重置。
1.3运行环境
Windows7、Eclipse、Access数据库
2系统设计
2.1系统综述
若要开发一款功能全面的图书管理系统,至少要具备对于图书信息的储存,并尽量使图书信息达到完善,现设计以book命名的Access数据表来存储图书信息,为了达到用户信息安全的目的,另外增加账号密码登录模块,设计user数据存储用户账号信息,将以上两个数据表放在以Book命名的数据库中。
2.2数据库设计
本系统数据库中共有两个数据表,数据表的定义如下:
表1:
数据表book
字段名称
数据类型
备注
bname
文本(主键)
图书名
bno
文本
图书号
price
文本
单价
writer
文本
作者
publish
文本
出版社
indata
文本
入库时间
表2:
数据表user
字段名称
数据类型
备注
uname
文本
用户名
Mima
文本
密码
图1系统功能流程图
2.3功能模块设计
3系统实现
3.1主界面
用户成功进入管理系统之后,出现的是该系统各个模块,其中包括图书查询、图书入库、图书删除、图书概览等,用户可根据需要选择相应的模块以实现所需功能。
图2系统主界面
3.2图书入库模块
用户点击“图书入库”模块之后,呈现出一个待输入图书信息的对话框。
用户即可按照对话框提示输入相应图书信息,填写完毕之后点击“确定”按钮即可,若输入的信息与数据库中出现相同,则提示“数据已存在”,否则图书入库完成。
图3图书入库模块
3.3图书概览模块
用户点击“图书概览”模块之后,系统就会自动查询数据库中所有图书的信息,然后以列表形式呈现出来。
图4图书概览模块
3.4图书删除模块
用户点击“图书删除”模块之后,系统会弹出对话框,用户只需要在相应对话框内输入想要删除的图书信息的图书号,提交之后系统查询数据库,调出相应图书信息,此时用户选中要删除的图书信息,点击“确定”即可删除。
图5图书删除模块
3.5修改密码模块
为了提高用户信息的安全性,系统设置了“修改密码”模块,用户点击“修改密码”模块之后,输入相应的原密码及新密码,提交之后即可完成密码重置。
图6修改密码模块
4实训总结
通过这次实训的完成,我再一次深刻地印证了“书到用时方恨少”这句至理名言,不出所料,我的实训完成的不是很好,当然,这并不是老师教的不好,也不是老师教学态度不好,坦白说,老师尽职尽责,对学生关爱有加,是我们一致认为的好老师,主要原因还是在于我自己没有特别努力,平时没有认真地跟上老师的步伐努力学习,才终于尝到了绞尽脑汁写不出的尴尬境地。
这痛苦,是我深深地认识到,不要觉得自己很聪明,不要觉得课本很简单,不用费什么劲就可以学会,如果抱有这样的心态,注定一事无成。
迄今为止,我对Java语言的内容掌握的仍然不够牢固,很容易出错,归根结底都是出于我自己的原因,所以,在以后的学习过程中,即使不再开类似的课程,但我仍然不会放弃对这门课程的学习,学习不是应付老师,更不是应付自己,草草了事,而是需要掌握一门技术,为了以后更好的生活,进入社会更好的适应,不然,当我们发现自己在社会面前一无所有的时候,便是自己悔不当初的无奈,最后我想说的是为了不让未来的自己成为社会的累赘,那么,从现在努力吧,永远都要记住,想要努力,什么时候开始都不晚,加油吧自己!
附录
程序部分源码:
importjava.awt.event.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.Container;
importjava.util.*;
importjava.sql.*;
importjavax.swing.text.JTextComponent;
//extendsJFrame
classBookInimplementsActionListener
{
JFramef3;
Containercp;
JPaneljp1,jp2,jp3,jp4,jp,jpanelWest;
JButtonjbt1,jbt2;//按钮:
确定、取消、
JLabellabel;//标签
JTextFieldtf1,tf2,tf3,tf4,tf5,tf6;//定义文本框
JLabellabel1,label2,label3,label4;
Stringsno;
BookIn()
{
f3=newJFrame();
cp=f3.getContentPane();//初始化面板、按钮、标签、文本框
jp1=newJPanel();
jp2=newJPanel();
jp3=newJPanel();
jp4=newJPanel();
jpanelWest=newJPanel();
jp=newJPanel();
//------------------------------------------------
jbt1=newJButton("确定");
jbt2=newJButton("取消");
//------------------------------------------------
label=newJLabel("
label.setForeground(Color.blue);
//------------------------------------------------
tf1=newJTextField(20);
tf2=newJTextField(20);
tf3=newJTextField(20);
tf4=newJTextField(20);
tf5=newJTextField(20);
tf6=newJTextField(20);
//------------------------------------------------
//布局,添加控件
jp1.add(jbt1);
jp1.add(jbt2);
sno=tf4.getText();
jp1.add(newJLabel("您好"+sno+"欢迎登陆学生信息系统"));
JPaneljpanel=newJPanel();
jpanel.add(label);
JPanelpp4=newJPanel();
JPaneljpane4=newJPanel();
cp.add(jpanel,"North");
JPanelpp2=newJPanel(newGridLayout(6,1));
JPanelpp3=newJPanel();
pp4.setLayout(newGridLayout(6,1));
pp4.add(newJLabel("图书名",SwingConstants.CENTER));
pp2.add(tf1);
pp4.add(newJLabel("图书号",SwingConstants.CENTER));
pp2.add(tf2);
pp4.add(newJLabel("单价",SwingConstants.CENTER));
pp2.add(tf3);
pp4.add(newJLabel("作者",SwingConstants.CENTER));
pp2.add(tf4);
pp4.add(newJLabel("出版社",SwingConstants.CENTER));
pp2.add(tf5);
pp4.add(newJLabel("入库时间",SwingConstants.CENTER));
pp2.add(tf6);
pp3.add(jbt1);
pp3.add(jbt2);
cp.add(pp4,"West");
cp.add(pp2,"Center");
cp.add(pp3,"South");
cp.add(jpane4,"East");
//------------------------------------------------
Toolkitkit=Toolkit.getDefaultToolkit();
Dimensionscreen=kit.getScreenSize();
intx=screen.width;/*取得显示器窗口的宽度*/
inty=screen.height;/*取得显示器窗口的高度*/
f3.setSize(350,330);
intxcenter=(x-350)/2;
intycenter=(y-330)/2;
f3.setLocation(xcenter,ycenter);/*显示在窗口中央*/
f3.setVisible(true);
//-------------------------------------------------
jbt1.addActionListener(this);//注册监听器
jbt2.addActionListener(this);
/*f3.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
);*/
}
//------------------------------------------------
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());
}
}
publicvoidactionPerformed(ActionEvente)
{
Stringcmd=e.getActionCommand();
if(cmd.equals("确定"))
{
insertRecord();
}
elseif(cmd.equals("取消"))
f3.hide();
}
publicstaticvoidmain(String[]arg){
BookIna=newBookIn();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 技能 图书馆 管理 系统