课程设计汇本高校教材管理系统.docx
- 文档编号:3973787
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:24
- 大小:721.39KB
课程设计汇本高校教材管理系统.docx
《课程设计汇本高校教材管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计汇本高校教材管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
课程设计汇本高校教材管理系统
四、心得体会:
...................................................................................................20
高校教材管理系统
一.系统设计:
1.1设计目标:
高校教材管理系统设计目标是实现教材信息的动态管,包括教材的征订,入库和出库信息的添加,修改和删除;对于管理员,实现不同的管理员,有不同的权限。
一般管理仅有查看信息和修改自己密码的权利。
特殊管理员具有添加、删除用户和其它一切权力。
1.2总体设计:
根据系统设计目标,高校教材管理系统由以下4大模块组成,分别是:
1.用户管理:
实现对用户的增加,删除和用户修改密码;
2.教材信息管理:
包括对教材信息的添加,删除,修改和查看功能。
3.库存管理:
分为教材出库,入库和查看库存信息。
1.3详细设计:
(由于本人只实现教材信息管理,教材库存管理,登陆模块,别的模块不再包括在)
高校教材管理系统管理系统
教材信息管理
教材库存管理
登录
添加教材信息
修改教材信息
查看教材信息
教材入库管理
教材出库管理
查看库存信息
系统功能模块图
1.教材信息管理
包括,添加教材信息,包括{教材编号、条形码、教材名称、ISBN、、出版时间、定价、作者},可以修改以上信息。
在查看教材信息时提供了多种查询方式:
可按教材编号,教材名称,条形码,作者查询。
还可以查看全部信息。
2.教材库存信息管理
包括,将新到的教材的信息录入到数据库中,包括入库单号、入库日期、教材编号、教材名称、单击、适合系别、入库数量、经手人},可以入库在教材信息管理进一步更新教材的详细信息。
出库后更新库存信息。
查看库存信息中也提供了多种查询方式:
有教材编号,教材名称,条形码,作者,全部。
3.登录
主要是对系统管理员和身份进行验证,同时用管理的权限记录。
二、数据库设计:
3.1数据结构(本人实现,Booksinfo,Instockinfo,Instock,Outstock,User)
Booksinfo(教材信息)={组成:
{教材编号、条形码、教材名称、ISBN、、出版时间、定价、作者、现有库存}}
Instockinfo(入库信息)={组成:
{教材编号、条形码、教材名称、ISBN、、出版时间、定价、作者、适合系别、现有库存}}
Instock(入库)={组成:
{入库单号、入库日期、教材编号、教材名称、单击、适合系别、入库数量、经手人}}
Outstock(出库)={组成:
{出库单号、出库日期、教材编号、教材名称、适合系别、出库数量、单价、经手人}}
Order(征订单)={组成:
{征订单号、征订教材编号、征订教材名称、征订数量、单价、征订部门、征订日期、适合专业}}
User(用户)={组成:
{用户ID、密码、用户权限}}
booksinfo
instock
Outstock
Instockinfo
User
3.2用户登录模块设计与实现
设计思路:
为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。
实现功能:
用户可以从登陆界面进入到教材信息管理系统界面,然后进行一些操作。
三、系统实现(附效果图和主要代码)
3.3.0database
packageUI;
importjava.sql.*;
importjava.util.logging.Level;
importjava.util.logging.Logger;
importjavax.swing.JOptionPane;
publicclassdatabase{
staticConnectionconn=null;
publicstaticvoidgetCommection(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
conn=DriverManager.getConnection("jdbc:
mysql:
//localhost/books","root","935216");
}catch(Exceptione){
}
}
publicstaticResultSetsqlExecut(Stringsql)throwsException{
ResultSetresultSet=null;
Statementst=conn.createStatement();
resultSet=st.executeQuery(sql);
returnresultSet;
}
publicstaticintupdateExecut(Stringsql){
intnI=0;
try{
Statementst=conn.createStatement();
nI=st.executeUpdate(sql);
}catch(Exceptione){
}
returnnI;
}
publicstaticvoidclosConnection(){
try{
conn.close();
}catch(Exceptione){
}
}
}
3.3.1Login
Dimensionds=newDimension(249,320);
privateStringuserPower;
publicvoiddenglu(){
Stringpsw=null;
booleanflag=false;
if(jTextField1.getText()==null||jTextField1.getText().equals("")){
JOptionPane.showMessageDialog(this,"请输入用户ID","提示",JOptionPane.OK_OPTION);
}else{
if(jField2.getText()==null||jField2.getText().equals("")){
JOptionPane.showMessageDialog(this,"请输入密码","提示",JOptionPane.OK_OPTION);
}else{
database.getCommection();
Stringsql="select密码,用户权限fromuserwhere用户ID='"+jTextField1.getText().trim()+"'";
try{
ResultSetrs=database.sqlExecut(sql);
while(rs.next()){
flag=true;
psw=rs.getString("密码");
userPower=rs.getString("用户权限");
System.out.println(userPower);
}
if(flag){
if(jField2.getText().trim().equals(psw.trim())){
MainFrame.loadFrame(userPower);
this.dispose();
}else{
JOptionPane.showMessageDialog(this,"密码错误","提示",JOptionPane.OK_OPTION);
}
}
else{
JOptionPane.showMessageDialog(this,"无此用户","提示",JOptionPane.OK_OPTION);
}
}catch(Exceptionex){
ex.printStackTrace();
}
}
}
}
Override
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jButton1){
denglu();
}elseif(e.getSource()==jButton1){
database.closConnection();
System.exit(0);
}
}
publicvoidkeyTyped(KeyEvente){
}
publicvoidkeyPressed(KeyEventke){
intkey=ke.getKeyCode();
if(key==KeyEvent.VK_ENTER){
if(ke.getSource()==jTextField1){
jField2.requestFocus(true);
}
if(jField2.getPassword().length>0){
denglu();
}
}elseif(key==KeyEvent.VK_ESCAPE){
database.closConnection();
System.exit(0);
}
}
3.3.2MainFrame
publicclassMainFrameextendsjavax.swing.JFrameimplementsActionListener{
publicMainFrame(Strings){
initComponents();
this.setVisible(true);
this.setLocationRelativeTo(null);
jMenuItem1.addActionListener(this);
jMenuItem2.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem4.addActionListener(this);
jMenuItem5.addActionListener(this);
jMenuItem6.addActionListener(this);
jMenuItem7.addActionListener(this);
jMenuItem8.addActionListener(this);
jMenuItem9.addActionListener(this);
jMenuItem10.addActionListener(this);
jMenuItem11.addActionListener(this);
jMenuItem12.addActionListener(this);
jMenuItem13.addActionListener(this);
jMenu8.addActionListener(this);
this.setBackground(Color.magenta);
if(s.trim().equals("1")){
jMenuItem1.setEnabled(false);
jMenuItem2.setEnabled(false);
jMenuItem3.setEnabled(false);
jMenuItem4.setEnabled(false);
jMenuItem5.setEnabled(false);
jMenuItem6.setEnabled(false);
jMenuItem8.setEnabled(false);
jMenuItem9.setEnabled(false);
}
}
publicstaticvoidloadFrame(Stringstr){
newMainFrame(str);
}
//Variablesdeclaration-donotmodify
privatejavax.swing.JLabeljLabel1;
privatejavax.swing.JMenujMenu1;
privatejavax.swing.JMenujMenu2;
privatejavax.swing.JMenujMenu3;
privatejavax.swing.JMenujMenu6;
privatejavax.swing.JMenujMenu7;
privatejavax.swing.JMenujMenu8;
privatejavax.swing.JMenuBarjMenuBar1;
privatejavax.swing.JMenuItemjMenuItem1;
privatejavax.swing.JMenuItemjMenuItem10;
privatejavax.swing.JMenuItemjMenuItem11;
privatejavax.swing.JMenuItemjMenuItem12;
privatejavax.swing.JMenuItemjMenuItem13;
privatejavax.swing.JMenuItemjMenuItem2;
privatejavax.swing.JMenuItemjMenuItem3;
privatejavax.swing.JMenuItemjMenuItem4;
privatejavax.swing.JMenuItemjMenuItem5;
privatejavax.swing.JMenuItemjMenuItem6;
privatejavax.swing.JMenuItemjMenuItem7;
privatejavax.swing.JMenuItemjMenuItem8;
privatejavax.swing.JMenuItemjMenuItem9;
privatejavax.swing.JPaneljPanel1;
//Endofvariablesdeclaration
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jMenuItem1){
addBook.loadFrame();
}elseif(e.getSource()==jMenuItem2){
updateBook.loadFrame();
}elseif(e.getSource()==jMenuItem11){
SelectBook.loadFrame();
}elseif(e.getSource()==jMenuItem3){
addinstock.loadFrame();
}elseif(e.getSource()==jMenuItem4){
outinstock.loadFrame();
}elseif(e.getSource()==jMenuItem10){
selstock.loadFrame();
}elseif(e.getSource()==jMenuItem5){
addorder.loadFrame();
}elseif(e.getSource()==jMenuItem6){
updateorder.loadFrame();
}elseif(e.getSource()==jMenuItem7){
selorder.loadFrame();
}elseif(e.getSource()==jMenuItem8){
addUser.loadFrame();
}elseif(e.getSource()==jMenuItem9){
delUser.loadFrame();
}elseif(e.getSource()==jMenuItem12){
updatePswd.loadFrame();
}elseif(e.getSource()==jMenuItem13){
About.loadFrame();
}
}
}
3.3.3addbook
publicvoidactionPerformed(ActionEvente){
intnI=0;
if(e.getSource()==jButton1){
if(jTextField1.getText()==null||jTextField1.getText().equals("")){
JOptionPane.showMessageDialog(this,"图书编号不能为空","提示",JOptionPane.OK_OPTION);
}else{
try{
database.getCommection();
nI=database.updateExecut(getSql());
if(nI==1){
JOptionPane.showMessageDialog(this,"添加成功!
","提示",JOptionPane.OK_OPTION);
}elseif(nI==0){
JOptionPane.showMessageDialog(this,"添加失败,已存在要插入的教材编号!
","提示",JOptionPane.OK_OPTION);
}
}catch(Exceptione2){
JOptionPane.showMessageDialog(this,e2.getMessage(),"提示",JOptionPane.OK_OPTION);
}
finally{
try{
database.closConnection();
}catch(Exceptione3){
e3.printStackTrace();
}
}
}
}
if(e.getSource()==jButton2){
try{
database.closConnection();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
this.dispose();
}
}
}
publicStringgetSql(){
Stringstr1=jTextField1.getText().trim();
Stringstr2=jTextField2.getText().trim();
Stringstr3=jTextField3.getText().trim();
Stringstr4=jTextField4.getText().trim();
Stringstr5=jTextField5.getText().trim();
Stringstr6=jTextField6.getText().trim();
Stringstr7=jTextField7.getText().trim();
Stringstr8=jTextField8.getText().trim();
Stringsql="insertintobooksinfo(bookNo,barcode,bookName,ISBN,publisher,publisheTime,price,author)";
sql+="values('"+str1+"','"+str2+"','"+str3+"','"+str4+"','"+str5+"','"+str6+"','"+str7+"','"+str8+"')";
returnsql;}
}
3.3.4updatebook
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jButton1){
if(jTextField9.getText()==null||jTextField9.getText().equals("")){
JOptionPane.showMessageDialog(this,"请输入教材编号","提示",JOptionPane.OK_OPTION);
}else{
Stringsql="select*frombooksinfowhere教材编号='"+jTextField9.getText().trim()+"'";
database.getCommection();
try{
ResultSetrs=database.sqlExecut(sql);
while(rs.next()){
jTextField1.setText(rs.getString
(1));
jTextField2.setText(rs.getString
(2));
jTextField3.setText(rs.getString(3));
jTextField4.setText(rs.getString(4));
jTextField5.setText(rs.getString(5));
jTextField6.setText(rs.getString(6));
jTextField7.setText(rs.getString(7));
jTextField8.setText(rs.getString(8));
}
}catch(Exceptione1){
e1.printStackTrace();
}
}
}elseif(e.getSource()==jButton2){
database.getCommection();
Stringsql="updatebooksinfoset条形码='"+jTextField2.getText().trim()+"',教材名称='"+jTextField3.getText().trim()+"',ISBN='"+jTextField4.getText().trim()+"',";
sql+="='"+jTextField5.getText().trim()+"',出版时间='"+jTextField6.getText().trim()+"',作者='"+jTextField8.getText().trim()+"',定价='"+Double.parseDouble(jTextField7.getText().trim())+"'where教材编号='"+jTextField9.getText().trim()+"'";
inti=database.updateExecut(sql);
if(i!
=0){
JOpti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 高校 教材 管理 系统