课程设计高校教材管理系统_第1页
课程设计高校教材管理系统_第2页
课程设计高校教材管理系统_第3页
课程设计高校教材管理系统_第4页
课程设计高校教材管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、系统设计:.2二、数据库设计:. 3三、系统实现:.4四、心得体会: .20高校教材管理系统一. 系统设计:高校教材管理系统设计目标是实现教材信息的动态管,包括教材的征订,入库和出库信息的添加,修改和删除;对于管理员,实现不同的管理员,有不同的权限。一般管理仅有查看信息和修改自己密码的权利。特殊管理员具有添加、删除用户和其它一切权力。1.2总体设计:根据系统设计目标,高校教材管理系统由以下4大模块组成,分别是:1.用户管理:实现对用户的增加,删除和用户修改密码;2.教材信息管理:包括对教材信息的添加,删除,修改和查看功能。3.库存管理:分为教材出库,入库和查看库存信息。1.3详细设计:(由

2、于本人只实现教材信息管理,教材库存管理,登陆模块,别的模块不再包括在内)高校教材管理系统管理系统教材信息管理教材库存管理登 录添加教材信息修改教材信息查看教材信息教材入库管理教材出库管理查看库存信息系统功能模块图1. 教材信息管理包括,添加教材信息,包括教材编号、条形码、教材名称、ISBN、出版社、出版时间、定价、作者,可以修改以上信息。在查看教材信息时提供了多种查询方式:可按教材编号,教材名称,条形码,作者查询。还可以查看全部信息。2. 教材库存信息管理包括,将新到的教材的信息录入到数据库中,包括入库单号、入库日期、教材编号、教材名称、单击、适合系别、入库数量、经手人,可以入库在教材信息管理

3、进一步更新教材的详细信息。出库后更新库存信息。查看库存信息中也提供了多种查询方式:有教材编号,教材名称,条形码,作者,全部。3. 登录主要是对系统管理员和身份进行验证,同时用管理的权限记录。二、数据库设计:3.1 数据结构(本人实现,Booksinfo,Instockinfo,Instock,Outstock ,User)Booksinfo(教材信息)=组成: 教材编号、条形码、教材名称、ISBN、出版社、出版时间、定价、作者、现有库存Instockinfo(入库信息)=组成:教材编号、条形码、教材名称、ISBN、出版社、出版时间、定价、作者、适合系别、现有库存Instock(入库)=组成:

4、入库单号、入库日期、教材编号、教材名称、单击、适合系别、入库数量、经手人Outstock(出库)=组成:出库单号、出库日期、教材编号、教材名称、适合系别、出库数量、单价、经手人 Order(征订单)=组成:征订单号、征订教材编号、征订教材名称、征订数量、单价、征订部门、征订日期、适合专业 User(用户)=组成:用户ID、密码、用户权限booksinfoinstockOutstockInstockinfoUser设计思路:为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。实现功能:用户可以从登陆界面进入到教材信息管理系统界面,然后进行一些

5、操作。三、系统实现(附效果图和主要代码) databasepackage UI;import java.sql.*;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JOptionPane;public class database static Connection conn = null; public static void getCommection() try Class.forName("org.gjt.mm.mysql.Driver"); conn

6、 = DriverManager.getConnection("jdbc:mysql:/localhost/books", "root", "935216"); catch (Exception e) public static ResultSet sqlExecut (String sql )throws Exception ResultSet resultSet=null; Statement st=conn.createStatement(); resultSet = st.executeQuery(sql); return r

7、esultSet;public static int updateExecut(String sql ) int nI=0; try Statement st=conn.createStatement(); nI= st.executeUpdate(sql); catch (Exception e) return nI; public static void closConnection() try conn.close(); catch (Exception e) LoginDimension ds=new Dimension(249, 320); private String userPo

8、wer;public void denglu() String psw = null; boolean flag = false; if (jTextField1.getText() = null | jTextField1.getText().equals("") JOptionPane.showMessageDialog(this, "请输入用户ID", "提示", JOptionPane.OK_OPTION); else if (jField2.getText() = null | jField2.getText().equal

9、s("") JOptionPane.showMessageDialog(this, "请输入密码", "提示", JOptionPane.OK_OPTION); else database.getCommection(); String sql="select 密码,用户权限 from user where 用户ID='"+jTextField1.getText().trim()+"'" try ResultSet rs=database.sqlExecut(sql); whil

10、e(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, "密码错误", "提示

11、", JOptionPane.OK_OPTION); else JOptionPane.showMessageDialog(this, "无此用户", "提示", JOptionPane.OK_OPTION); catch (Exception ex) ex.printStackTrace(); Override public void actionPerformed(ActionEvent e) if (e.getSource() = jButton1) denglu(); else if (e.getSource() = jButton1)

12、 database.closConnection(); System.exit(0); public void keyTyped(KeyEvent e) public void keyPressed(KeyEvent ke) int key = ke.getKeyCode(); if (key = KeyEvent.VK_ENTER) if (ke.getSource() = jTextField1) jField2.requestFocus(true); if (jField2.getPassword().length > 0) denglu(); else if (key = Key

13、Event.VK_ESCAPE) database.closConnection(); System.exit(0); ame implements ActionListener public MainFrame(String s) initComponents(); this.setVisible(true); this.setLocationRelativeTo(null); jMenuItem1.addActionListener(this); jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this);

14、jMenuItem4.addActionListener(this); jMenuItem5.addActionListener(this); jMenuItem6.addActionListener(this); jMenuItem7.addActionListener(this); jMenuItem8.addActionListener(this); jMenuItem9.addActionListener(this); jMenuItem10.addActionListener(this); jMenuItem11.addActionListener(this); jMenuItem1

15、2.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.setE

16、nabled(false); jMenuItem6.setEnabled(false); jMenuItem8.setEnabled(false); jMenuItem9.setEnabled(false); public static void loadFrame(String str ) new MainFrame(str); / Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JMenu jMenu1; private javax.swing.JMe

17、nu jMenu2; private javax.swing.JMenu jMenu3; private javax.swing.JMenu jMenu6; private javax.swing.JMenu jMenu7; private javax.swing.JMenu jMenu8; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JMenuItem jMenuItem10; private javax.swing.JMenuIte

18、m jMenuItem11; private javax.swing.JMenuItem jMenuItem12; private javax.swing.JMenuItem jMenuItem13; private javax.swing.JMenuItem jMenuItem2; private javax.swing.JMenuItem jMenuItem3; private javax.swing.JMenuItem jMenuItem4; private javax.swing.JMenuItem jMenuItem5; private javax.swing.JMenuItem j

19、MenuItem6; private javax.swing.JMenuItem jMenuItem7; private javax.swing.JMenuItem jMenuItem8; private javax.swing.JMenuItem jMenuItem9; private javax.swing.JPanel jPanel1; / End of variables declaration public void actionPerformed(ActionEvent e) if(e.getSource()=jMenuItem1) addBook.loadFrame(); els

20、e if(e.getSource()=jMenuItem2) updateBook.loadFrame(); else if(e.getSource()=jMenuItem11) SelectBook.loadFrame(); else if(e.getSource()=jMenuItem3) addinstock.loadFrame(); else if(e.getSource()=jMenuItem4) outinstock.loadFrame(); else if(e.getSource()=jMenuItem10) selstock.loadFrame(); else if(e.get

21、Source()=jMenuItem5) addorder.loadFrame(); else if(e.getSource()=jMenuItem6) updateorder.loadFrame(); else if(e.getSource()=jMenuItem7) selorder.loadFrame(); else if(e.getSource()=jMenuItem8) addUser.loadFrame(); else if(e.getSource()=jMenuItem9) delUser.loadFrame(); else if(e.getSource()=jMenuItem1

22、2) updatePswd.loadFrame(); else if(e.getSource()=jMenuItem13) About.loadFrame(); public void actionPerformed(ActionEvent e) int nI=0; if(e.getSource()=jButton1) if (jTextField1.getText() = null | jTextField1.getText().equals("") JOptionPane.showMessageDialog(this, "图书编号不能为空", &qu

23、ot;提示", JOptionPane.OK_OPTION); else try database.getCommection(); nI=database.updateExecut(getSql(); if(nI=1) JOptionPane.showMessageDialog(this, "添加成功!", "提示", JOptionPane.OK_OPTION); else if(nI=0) JOptionPane.showMessageDialog(this, "添加失败,已存在要插入的教材编号!", "提示

24、", JOptionPane.OK_OPTION); catch (Exception e2) JOptionPane.showMessageDialog(this, e2.getMessage(), "提示", JOptionPane.OK_OPTION); finally try database.closConnection(); catch (Exception e3) e3.printStackTrace(); if(e.getSource()=jButton2) try database.closConnection(); catch (Excepti

25、on ex) ex.printStackTrace(); finally this.dispose(); public String getSql() String str1 = jTextField1.getText().trim(); String str2 = jTextField2.getText().trim(); String str3 = jTextField3.getText().trim(); String str4 = jTextField4.getText().trim(); String str5 = jTextField5.getText().trim(); Stri

26、ng str6 = jTextField6.getText().trim(); String str7 = jTextField7.getText().trim(); String str8 = jTextField8.getText().trim(); String sql = "insert into booksinfo(bookNo,barcode,bookName,ISBN,publisher,publisheTime,price,author)" sql += "values('" + str1 + "','&

27、quot; + str2 + "','" + str3 + "','" + str4 + "','" + str5 + "','" + str6 + "','" + str7 + "','" + str8 + "')" return sql; updatebookpublic void actionPerformed(ActionEvent e) if

28、(e.getSource() = jButton1) if (jTextField9.getText() = null | jTextField9.getText().equals("") JOptionPane.showMessageDialog(this, "请输入教材编号", "提示", JOptionPane.OK_OPTION); else String sql="select * from booksinfo where 教材编号='"+jTextField9.getText().trim()+

29、"'" database.getCommection(); try ResultSet rs=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.s

30、etText(rs.getString(6); jTextField7.setText(rs.getString(7); jTextField8.setText(rs.getString(8); catch(Exception e1) e1.printStackTrace(); else if(e.getSource() = jButton2) database.getCommection(); String sql ="update booksinfo set 条形码='"+jTextField2.getText().trim()+"', 教材名

31、称='"+jTextField3.getText().trim()+"',ISBN='"+jTextField4.getText().trim()+"'," sql+="出版社='"+jTextField5.getText().trim()+"',出版时间='"+jTextField6.getText().trim()+"',作者='"+jTextField8.getText().trim()+"'

32、;,定价='"+Double.parseDouble(jTextField7.getText().trim()+"' where 教材编号='"+jTextField9.getText().trim()+"'" int i=database.updateExecut(sql); if(i!=0) JOptionPane.showMessageDialog(this, "修改成功!", "提示", JOptionPane.OK_OPTION); else JOptionPan

33、e.showMessageDialog(this, "修改失败!", "提示", JOptionPane.OK_OPTION); else if(e.getSource() = jButton4) if (jTextField9.getText() = null | jTextField9.getText().equals("") JOptionPane.showMessageDialog(this, "请输入教材编号", "提示", JOptionPane.OK_OPTION); else i

34、nt YES_OPTION=0; String sql="delete from booksinfo where 教材编号='"+jTextField9.getText().trim()+"'" database.getCommection(); YES_OPTION=(JOptionPane.showConfirmDialog(this, "确定要删除数据吗?", "提示", JOptionPane.YES_NO_OPTION); if(YES_OPTION=0) int i=database.u

35、pdateExecut(sql); if(i!=0) JOptionPane.showMessageDialog(this, "删除成功!", "提示", JOptionPane.OK_OPTION); else JOptionPane.showMessageDialog(this, "删除失败!", "提示", JOptionPane.OK_OPTION); else return; else if (e.getSource() = jButton3) this.dispose(); try database.c

36、losConnection(); catch (Exception ex) ex.printStackTrace(); selbookprivate String str="教材编号" private String sqlStr; Override public void actionPerformed(ActionEvent e) if(e.getSource()=jButton1&&(jTextField1.getText() != null &&!(jTextField1.getText().equals("")|s

37、tr.equals("全部") if(str.equals("全部") sqlStr ="select * from booksinfo" else sqlStr ="select * from booksinfo where "+str+"='"+jTextField1.getText().trim()+"'" database.getCommection(); try ResultSet rs =database.sqlExecut(sqlStr); ja

38、va.sql.ResultSetMetaData rsmd=rs.getMetaData(); int colount=rsmd.getColumnCount(); Vector colo=new Vector(); for (int i = 1; i <=colount; i+) colo.add(rsmd.getColumnName(i); Vector data =new Vector(); while (rs.next() Vector rowv= new Vector(); for (int i = 1; i <=colount; i+) rowv.add(rs.getS

39、tring(i); data.add(rowv); DefaultTableModel dtm=new DefaultTableModel(data,colo); TableRowSorter sorter=new TableRowSorter(dtm); jTable1.setRowSorter(sorter); jTable1.setModel(dtm); catch (Exception ex) ex.printStackTrace(); finally database.closConnection(); else JOptionPane.showMessageDialog(this,

40、 "请输入限定值", "提示", JOptionPane.OK_OPTION); Override public void itemStateChanged(ItemEvent e) str =(String)jComboBox1.getSelectedItem(); jTextField1.setText(""); public void actionPerformed(ActionEvent e) int nI=0; if(e.getSource()=jButton1) if (jTextField1.getText() = nu

41、ll | jTextField1.getText().equals("") JOptionPane.showMessageDialog(this, "入库单号不能为空", "提示", JOptionPane.OK_OPTION); else try database.getCommection(); database.updateExecut("update instockinfo set 现有库存=现有库存+'"+Integer.parseInt(jTextField7.getText().trim()+

42、"' where 教材编号='"+jTextField3.getText().trim()+"'"); nI=database.updateExecut(getSql(); if(nI=1) JOptionPane.showMessageDialog(this, "入库成功!", "提示", JOptionPane.OK_OPTION); else if(nI=0) JOptionPane.showMessageDialog(this, "入库失败,已存在要添加的入库单号!&quo

43、t;, "提示", JOptionPane.OK_OPTION); catch (Exception e2) JOptionPane.showMessageDialog(this, e2.getMessage(), "提示", JOptionPane.OK_OPTION); e2.printStackTrace(); finally try database.closConnection(); catch (Exception e3) e3.printStackTrace(); if(e.getSource()=jButton2) try databas

44、e.closConnection(); catch (Exception ex) ex.printStackTrace(); finally this.dispose(); public String getSql() String str1 = jTextField1.getText().trim(); String str2 = jTextField2.getText().trim(); String str3 = jTextField3.getText().trim(); String str4 = jTextField4.getText().trim(); String str5 = jTextField5.getText().trim(); String str6 = jTextField6.getText().trim(); String str7 = jTextField7.getText().trim(); String str8 = jTextField8.getText().trim(); String sql = "insert into instock(入库单号,入库日期,教材编号,教材

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论