教材管理系统及其源代码

上传人:无*** 文档编号:92846129 上传时间:2022-05-19 格式:DOC 页数:28 大小:77KB
收藏 版权申诉 举报 下载
教材管理系统及其源代码_第1页
第1页 / 共28页
教材管理系统及其源代码_第2页
第2页 / 共28页
教材管理系统及其源代码_第3页
第3页 / 共28页
资源描述:

《教材管理系统及其源代码》由会员分享,可在线阅读,更多相关《教材管理系统及其源代码(28页珍藏版)》请在装配图网上搜索。

1、文档1 需求分析本软件是教材管理系统,主要完成管理员对教材的管理,如信息录入,查询等,功能如下所示;软件设计的目的是方便管理员对教材信息的管理,便于学校等机构使用。完成教材管理系统的设计与实现,主要包括以下根本容:1教材信息的录入;2教材信息的查询;3教材的入库和出库;4教材库存查询;5各项统计工作与打印;6完成程序的最终调试,必须能正常运行。2 总体设计教材管理系统教材入库教材出库教材查询教材概览教材入库局部通过输入教材详细信息将教材入库,教材出库局部通过教材号删除其信息,教材查询通过其教材号查询,教材该来输出全部教材详细信息。数据库设计 本软件设计一个表,名为Book.表book字段名称数

2、据类型教材名文本教材号文本主键价格文本作者文本文本入库时间文本3详细设计1)登陆界面设计mport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*; class Login extends JFrame implements ActionListener Container cp=null; JFrame f=null; utton j1,j2; JTextField t1; JPasswordField

3、t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; Login()f=new JFrame(教材管理系统);j1=new utton(确定);j2=new utton(取消);cp=f.getContentPane();jlable1=new JLabel( 输入用户名);jlable2=new JLabel( 用户密码); jp1=new JPanel();jp2=new JPanel();t1=new JTextField(18);t2=new JPasswordField(18);jp1.add(jlable1); jp1.add(t

4、1); jp1.add(jlable2);jp1.add(t2); JLabel JL=new JLabel(欢迎登陆,SwingConstants.CENTER); cp.add(JL,North);jp2.add(j1);jp2.add(j2); cp.add(jp1,Center); cp.add(South,jp2);jp1.setBackground(new Color(255,153,255);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width

5、;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/setSize(x,y); /*让系统窗口平铺整个显示器窗口*/f.setSize(300,300); int xcenter=(x-300)/2; int ycenter=(y-300)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/f.setVisible(true); j1.addActionListener(this);/注册事件监听器 j2.addActionListener(this); f.addWindowListener(new Win

6、dowAdapter()public void windowClosing(WindowEvent e)System.exit(0);); public void actionPerformed(ActionEvent e) String cmd=e.getActionmand(); if(cmd.equals(确定) new Book(t1.getText(); else if(cmd.equals(取消) f.dispose(); public static void main(String args) Login a=new Login(); 2) 主界面设计,显示软件主要功能,即教材入

7、库出库查询等功能。import .*;import java.sql.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import java.util.*;class Book extends JFrame implements ActionListener utton QueryScore=new utton(教材查询);utton QueryXuefen=new utton(教材入库

8、);utton jiangfa=new utton(教材删除);utton xuanke=new utton(教材概览);utton gaiMima=new utton(打印);JMenuBar mb = new JMenuBar();/菜单栏JPanel jp=new JPanel();/用来填放子模块Container cp=getContentPane(); Stringusername;Book() Book(String username)this.username=username;mb.add(QueryScore);mb.add(QueryXuefen);mb.add(jian

9、gfa);mb.add(xuanke);mb.add(gaiMima); cp.add(mb,North); / 设置边框 jp.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.blue, 2),null, TitledBorder.CENTER, TitledBorder.TOP);jp.setLayout(new BorderLayout(); JLabel label1 = new JLabel(new ImageIcon(4.jpg);jp.add(label1); /* J

10、Label JL=new JLabel(欢迎登陆,SwingConstants.CENTER); jp.add(JL,North);*/JLabel label2 = new JLabel(new ImageIcon(2.jpg);/jp.add(label2,South);JScrollPane scrollpane=new JScrollPane(jp);cp.add(scrollpane);setTitle(欢迎登陆);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=sc

11、reen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/setSize(x,y); /*让系统窗口平铺整个显示器窗口*/setSize(600,600); int xcenter=(x-600)/2; int ycenter=(y-600)/2; setLocation(xcenter,ycenter);/*显示在窗口中央*/setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/注册临听器QueryScore.addActionListener(this);

12、QueryXuefen.addActionListener(this);jiangfa.addActionListener(this);xuanke.addActionListener(this);public void actionPerformed(ActionEvent e)String cmd=e.getActionmand();if (cmd.equals(教材查询)new QueryBook();if (cmd.equals(教材入库)new BookIn();if (cmd.equals(教材删除)new RemoveBook();if (cmd.equals(教材概览)new

13、BookBrower().showRecord(); public static void main(Stringargs)new Book();3) 教材概览模块,提供库中教材总体情况查询。BookBrower.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class BookBrower implements ActionListener JFrame f;Container c

14、p;JPanel jpS,jpanelWest;utton t1,t2;/按钮,查询、取消、修改JLabel label,L;/标签 /定义文本框JTable table;/用来接收数据库中返回的信息 Object columnName=教材名,教材号,单价,作者,入库时间; Object ar =new Object806;String sno;String count=xx;BookBrower() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按钮、标签、文本框jpS=new JPanel(); jpanelWest=new JPanel()

15、;/-t1=new utton(确定); t2=new utton(返回);/-label=new JLabel(教材概览,SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel(书库现在共有教材+count+本);/- table=new JTable(ar,columnName);/ar存放表中的数据,columnname表示列名JScrollPane scrollpane = new JScrollPane(table);/-/布局,添加控件jpS.add(t1);jpS.add(t2);JPanel jpa

16、nel=new JPanel();jpanel.add(label);JPanel pp4=new JPanel(); JPanel jpE=new JPanel();cp.add(jpanel,North);JPanel jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用来放两个表p.setLayout(new BorderLayout();p.add(L,North);p.add(scrollpane);cp.add(pp4,West);cp.add(p,Center); cp.add(jpS,South);cp.add

17、(jpE,East);/- Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/ f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); /- t1.addAct

18、ionListener(this);/注册监听器 t2.addActionListener(this); /* f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-int i=0;public void showRecord() tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);try

19、String url = jdbc:odbc:jf;/直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url);String s=select * from book; Statement sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String

20、writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count=+i+;L.setText(书库现在共有教材+count+本);f.repaint();con.close(); catch(SQLException g)System.out.println(E Code+g.getErrorCode(); System.out.print

21、ln(E M+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=e.getActionmand(); if(cmd.equals(确定) f.hide(); if(cmd.equals(返回) f.hide(); 4) 教材入库模块,将教材与其相关信息入库。BookIn.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import

22、java.sql.*;import javax.swing.text.JTextponent;/extends JFrameclass BookIn implements ActionListener JFrame f3;Container cp;JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;utton t1,t2;/按钮:确定、取消、JLabel label;/标签JTextField tf1,tf2,tf3,tf4,tf5,tf6; /定义文本框JLabel label1,label2,label3,label4;String sno; BookIn() f3=

23、new JFrame();cp=f3.getContentPane(); / 初始化面板、按钮、标签、文本框jp1=new JPanel(); jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jpanelWest=new JPanel();jp=new JPanel();/-t1=new utton(确定); t2=new utton(取消);/-label=new JLabel(教材入库);label.setForeground(Color.blue);/-tf1=new JTextField(20);tf2=new JTextField

24、(20);tf3=new JTextField(20);tf4=new JTextField(20);tf5=new JTextField(20); tf6=new JTextField(20);/-/布局,添加控件jp1.add(t1);jp1.add(t2);sno=tf4.getText();jp1.add(new JLabel(您好+sno+欢迎登陆教材信息系统);JPanel jpanel=new JPanel();jpanel.add(label);JPanel pp4=new JPanel(); JPanel jpane4=new JPanel();cp.add(jpanel,N

25、orth);JPanel pp2=new JPanel(new GridLayout(6,1);JPanel pp3=new JPanel();pp4.setLayout(new GridLayout(6,1);pp4.add(new JLabel(教材名,SwingConstants.CENTER);pp2.add(tf1);pp4.add(new JLabel(教材号,SwingConstants.CENTER);pp2.add(tf2);pp4.add(new JLabel(单 价,SwingConstants.CENTER);pp2.add(tf3);pp4.add(new JLabe

26、l(作 者,SwingConstants.CENTER);pp2.add(tf4);pp4.add(new JLabel(,SwingConstants.CENTER);pp2.add(tf5);pp4.add(new JLabel(入库时间,SwingConstants.CENTER);pp2.add(tf6);pp3.add(t1);pp3.add(t2);cp.add(pp4,West);cp.add(pp2,Center); cp.add(pp3,South);cp.add(jpane4,East);/- Toolkit kit=Toolkit.getDefaultToolkit();

27、Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/f3.setSize(350,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f3.setVisible(true); /- t1.addActionListener(this);/注册监听器 t2.addActionListener(this);

28、 /*f3.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/- public void insertRecord() if(tf1.getText().equals()|tf2.getText().equals()|tf3.getText().equals()| tf4.getText().equals()|tf5.getText().equals()|tf6.getText().equals()JOptionPane.showMessageDialo

29、g(f3,请填写教材资料);return;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:jf;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql=con.createStatement();String s=insert into book values(+tf1.ge

30、tText()+,+tf2.getText()+,+tf3.getText()+,+tf4.getText()+,+tf5.getText()+,+tf6.getText()+);sql.executeUpdate(s);label.setText(插入成功); catch(SQLException g)label.setText(有重复的教材号);System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e)

31、 String cmd=e.getActionmand(); if(cmd.equals(确定) insertRecord(); else if(cmd.equals(取消) f3.hide(); 5) 教材查询模块,提供教材按一定的需求查询。QueryBook.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class QueryBook implements ActionListe

32、ner JFrame f3;Container cp;JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;utton t1,t2;/按钮,确定、取消JLabel label;/标签:请输入图书号JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6; /定义文本框JLabel label1,label2,label3,label4;QueryBook() f3=new JFrame();cp=f3.getContentPane(); / 初始化面板、按钮、标签、文本框jp1=new JPanel(); jp2=new JPanel();jp3=new

33、JPanel();jp4=new JPanel();jpanelWest=new JPanel();jp=new JPanel();/-t1=new utton(确定); t2=new utton(取消);/-label=new JLabel(请输入教材号:,SwingConstants.CENTER);label.setForeground(Color.blue);tf=new JTextField(20); /-tf1=new JTextField(20);tf2=new JTextField(20);tf3=new JTextField(20);tf4=new JTextField(20

34、);tf5=new JTextField(20); tf6=new JTextField(20);/-/布局,添加控件JPanel jpanel=new JPanel();jpanel.add(label);jpanel.add(tf);JPanel pp4=new JPanel(); JPanel jpane4=new JPanel();cp.add(jpanel,North);JPanel pp2=new JPanel(new GridLayout(6,1);JPanel pp3=new JPanel();pp4.setLayout(new GridLayout(6,1);pp4.add(

35、new JLabel(教材名,SwingConstants.CENTER);pp2.add(tf1);pp4.add(new JLabel(教材号,SwingConstants.CENTER);pp2.add(tf2);pp4.add(new JLabel(单 价,SwingConstants.CENTER);pp2.add(tf3);pp4.add(new JLabel(作 者,SwingConstants.CENTER);pp2.add(tf4);pp4.add(new JLabel(,SwingConstants.CENTER);pp2.add(tf5);pp4.add(new JLab

36、el(入库时间,SwingConstants.CENTER);pp2.add(tf6);pp3.add(t1); pp3.add(t2);cp.add(pp4,West);cp.add(pp2,Center); cp.add(pp3,South);cp.add(jpane4,East);/- Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/f3.setSiz

37、e(350,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f3.setVisible(true); /- t1.addActionListener(this);/注册监听器 t2.addActionListener(this); /*f3.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-public voi

38、d showRecord() tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:jf;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql;String ql=tf.getText().trim();String s=select * from book where 教材号

39、=+ql +; sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); if(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);tf1.setText(bname);tf2.setText(bno);tf3.se

40、tText(price);tf4.setText(writer);tf5.setText(publish);tf6.setText(indate); else JOptionPane.showMessageDialog(null,您输入的教材号不存在,请重新输入, 输入错误, JOptionPane.YES_NO_OPTION); con.close(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); tf1.setEditable(f

41、alse); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); tf5.setEditable(false); tf6.setEditable(false);public void actionPerformed(ActionEvent e) String cmd=e.getActionmand(); if(cmd.equals(确定) showRecord();tf.setText(); else if(cmd.equals(取消) f3.hide(); 6) 教材删除模块,先经过查询选定教材查询的

42、围,再选中要删除的教材进展删除。RemoveBook.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class RemoveBook implements ActionListener JFrame f;Container cp;JPanel jpS,jpanelWest;utton t1,t2,t3;/按钮,查询、取消、修改JLabel label,L;/标签:请输入学号JText

43、Field tf; /定义文本框JTable table;/用来接收数据库中返回的信息 Object columnName=教材名,教材号,单价,作者,入库时间; Object ar =new Object806;String sno;String count=xx;RemoveBook() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按钮、标签、文本框jpS=new JPanel(); jpanelWest=new JPanel();/-t1=new utton(查询); t2=new utton(取消); t3=new utton(删除);/

44、-label=new JLabel(请输入要删除的教材名:,SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel(该种教材共有+count+本);/- table=new JTable(ar,columnName);/ar存放表中的数据,columnname表示列名JScrollPane scrollpane = new JScrollPane(table);/-tf=new JTextField(18); /-/-/布局,添加控件jpS.add(t1);jpS.add(t2);jpS.add(t3);JPane

45、l jpanel=new JPanel();jpanel.add(label);jpanel.add(tf);JPanel pp4=new JPanel(); JPanel jpE=new JPanel();cp.add(jpanel,North);JPanel jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用来放两个表p.setLayout(new BorderLayout();p.add(L,North);p.add(scrollpane);cp.add(pp4,West);cp.add(p,Center); cp.a

46、dd(jpS,South);cp.add(jpE,East);/- Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(

47、true); /- t1.addActionListener(this);/注册监听器 t2.addActionListener(this); t3.addActionListener(this); /*f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-int i=0; public void showRecord(String ql) while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0;try

48、Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:jf;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url); Statement sql; String s=select * from book where 教材名 =+ql +; sql=con.createStatement(); ResultSet r

49、s=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count=+i+;L.setText(该种教材共有+count+本);f.repaint();con.close();System.out.println(ar01); catch(SQLException g)System.out.println(E Code+g.getErro

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!