小型图书管理系统设计报告.doc

上传人:飞****2 文档编号:56409125 上传时间:2022-11-01 格式:DOC 页数:34 大小:290KB
返回 下载 相关 举报
小型图书管理系统设计报告.doc_第1页
第1页 / 共34页
小型图书管理系统设计报告.doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《小型图书管理系统设计报告.doc》由会员分享,可在线阅读,更多相关《小型图书管理系统设计报告.doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、陕西师范大学远程教育学院 题目: java小型图书管理系统设计 学习中心:陕西省咸阳教育科技培训学院 学号: 层次: 高中起点专科 姓名: 党晨娜 1.前言本系统是小型图书管理系统,专为个人设计。本系统启动后需要登陆,然后进入主界在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。系统共有4个功能模块:图书入库、图书查询、图书删除、图书概览、修改密码。支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、修改密码等。2.系统流程图退出图书删除图书概览修改密码图书查询图书入库系统开始失败退出判断成功判断输入密码说明:首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;然后判

2、断,如果判断失败退出系统,否则进入图书管理系统的主界面。进入主界面后,用户要选择所需执行的功能,即通过鼠标点击相应项,来完成所需操作。图书名图书号单价作者出版社入库时间表book表user用户名密码数据库表 3.数据库设计在图书管理系统中,共设计2张表。本系统使用Access来创建数据表。数据库的名称为Book.mdb。1.表book字段名称数据类型图书名文本图书号文本(主键)单价文本作者文本出版社文本入库时间文本2.表user字段名称数据类型用户名文本(主键)密码文本4.界面设计系统源码1登陆界面:程序名Login.javaimport java.awt.event.*;import jav

3、ax.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; JButton j1,j2; JTextField t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; Login() f=new JFrame(小

4、型图书管理系统);j1=new JButton(确定);j2=new JButton(取消);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(t1); jp1.add(jlable2);jp1.add(t2); JLabel JL=new JLabel(欢迎登陆,SwingCo

5、nstants.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;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/setSize(x,y); /*让

6、系统窗口平铺整个显示器窗口*/ 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 WindowAdapter()public void windowClosing(WindowEvent e)System.ex

7、it(0);); public void confirm()/验证用户和密码是否存在 tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);State

8、ment sql=con.createStatement();String uname=t1.getText().trim();String Mima=t2.getText().trim();String queryMima=select * from user where 用户名=+uname+ and 密码=+Mima+;ResultSet rs=sql.executeQuery(queryMima); if(rs.next()new Book(uname);f.hide(); con.close(); elseJOptionPane.showMessageDialog(null,该用户不

9、存在,提示!, JOptionPane.YES_NO_OPTION); t1.setText();t2.setText(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals(确定) confirm(); else if(cmd.equals(取消) f.disp

10、ose(); public static void main(String arg) Login a=new Login(); 2图书概览:程序名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 cp;JPanel jpS,jpanelWest

11、;JButton jbt1,jbt2;/按钮,查询、取消、修改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();/-jbt1=new

12、JButton(确定); jbt2=new JButton(返回); /-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(jbt1);jpS.add(jbt2);JPanel jp

13、anel=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.

14、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(true); /- jbt1.a

15、ddActionListener(this);/注册监听器 jbt2.addActionListener(this); /* f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-int i=0; public void showRecord() while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0; tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); ca

16、tch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);try String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); String s=select * from book ; Statement sql=con.createStatement(); ResultSet rs=sql.executeQuer

17、y(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(书库现在共有图书+c

18、ount+本);f.repaint(); con.close(); catch(SQLException g) System.out.println(E Code+g.getErrorCode(); System.out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals(确定) f.hide(); if(cmd.equals(返回) f.hide(); public static void main(Strin

19、g arg) BookBrower a=new BookBrower(); a.showRecord();3图书查询:程序名QueryBook.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class QueryBook implements ActionListener JFrame f3;Container cp;JPanel jp1,jp2,jp3,jp4,jp,jpanelW

20、est;JButton jbt1,jbt2;/按钮,确定、取消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 JPanel();jp4=new JPanel();jpanelWest=new JPanel();jp=

21、new JPanel();/-jbt1=new JButton(确定); jbt2=new JButton(取消);/-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);tf5=new JTextField(20); tf6=new JTextField(

22、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(new JLabel(图书名,SwingConstants.CENTER);pp2.add

23、(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 JLabel(入库时间,SwingConstants.CENTER);pp2.add(tf6

24、);pp3.add(jbt1); pp3.add(jbt2); 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.setSize(350,330); int xcenter=(x-350)/2; i

25、nt ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f3.setVisible(true); /- jbt1.addActionListener(this);/注册监听器 jbt2.addActionListener(this); /*f3.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-public void showRecord() tryClass.forName(

26、sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql;String ql=tf.getText().trim();String s=select * fro

27、m book where 图书号 =+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.se

28、tText(bno);tf3.setText(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();

29、tf1.setEditable(false); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); tf5.setEditable(false); tf6.setEditable(false);public void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals(确定) showRecord();tf.setText(); else if(cmd.equals(取消) f3.hide(); pu

30、blic static void main(String arg) QueryBook a=new QueryBook();4图书删除:程序名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;J

31、Button jbt1,jbt2,jbt3;/按钮,查询、取消、修改JLabel label,L;/标签:请输入学号JTextField 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=n

32、ew JPanel();/-jbt1=new JButton(查询); jbt2=new JButton(取消); jbt3=new JButton(删除);/-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

33、);/-tf=new JTextField(18); /-/-/布局,添加控件jpS.add(jbt1);jpS.add(jbt2);jpS.add(jbt3);JPanel 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 B

34、orderLayout();p.add(L,North);p.add(scrollpane); cp.add(pp4,West);cp.add(p,Center); cp.add(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(true); /-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁