1、 前言前言前言前言 本系统是小型图书管理系统本系统是小型图书管理系统本系统是小型图书管理系统本系统是小型图书管理系统,专为个人设计专为个人设计专为个人设计专为个人设计。本系统启动后需要登陆本系统启动后需要登陆本系统启动后需要登陆本系统启动后需要登陆,然后进入主界然后进入主界然后进入主界然后进入主界 在这个界面我们可以选择所需要的功能模块来完成所要执行的功能在这个界面我们可以选择所需要的功能模块来完成所要执行的功能在这个界面我们可以选择所需要的功能模块来完成所要执行的功能在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。系统共有系统共有系统共有系统共有4444个个个个功能功能功能功能模
2、块模块模块模块:图书入库图书入库图书入库图书入库、图书查询图书查询图书查询图书查询、图书删除图书删除图书删除图书删除、图书概览图书概览图书概览图书概览、修改密码修改密码修改密码修改密码。支支支支持一系列关于图书管理方面的简单操作持一系列关于图书管理方面的简单操作持一系列关于图书管理方面的简单操作持一系列关于图书管理方面的简单操作,诸如查询诸如查询诸如查询诸如查询、删除删除删除删除、添加添加添加添加、修改修改修改修改密码等密码等密码等密码等。系统流程图系统流程图系统流程图系统流程图 输入密码 判断 失败 成功 系统开始 判断 退出 图书查询 图书入库 图书删除 图书概览 修改密码 退出 3 说明
3、:首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;然后判断,如果判断失败退出系统,否则进入图书管理系统的主界面。进入主界面后,用户要选择所需执行的功能,即通过鼠标点击相应项,来完成所需操作。数据库设计数据库设计数据库设计数据库设计 在图书管理系统中,共设计2张表。本系统使用AccessAccessAccessAccess来创建数据表。1.表book 字段名称 数据类型 图书名 文本 图书号 文本(主键) 单价 文本 作者 文本 出版社 文本 入库时间 文本 2.表user 字段名称 数据类型 用户名 文本(主键) 密码 文本 图书名 图书号 单价 作者 出版社 入库时间 表book
4、 表user 用户名 密码 数据库表 4系统源码系统源码系统源码系统源码 程序代码 1111登陆界面登陆界面登陆界面登陆界面:程序名Login.javaLogin.javaLogin.javaLogin.java import 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=
5、null; JFrame f=null; JButton j1,j2; JTextField t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; Login() f=new JFrame(小型图书管理系统); j1=new JButton(确定); j2=new JButton(取消 cp=f.getContentPane(); jlable1=new JLabel( 输入用户名 jlable2=new JLabel( 用户密码 jp1=new JPanel(); jp2=new JPanel(); t
6、1=new JTextField(18); t2=new JPasswordField(18); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2); jp1.add(t2); JLabel JL=new JLabel(font color=#CC00FF size=7i欢迎登陆 5/i/font,SwingConstants.CENTER); cp.add(JL,North jp2.add(j1); jp2.add(j2); cp.add(jp1,Center cp.add(South,jp2); jp1.setBackground(new Col
7、or(255,153,255); Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width; /*取得显示器窗口的宽度*/ 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);/*
8、显示在窗口中央*/ f.setVisible(true); /- j1.addActionListener(this);/注册事件监听器 j2.addActionListener(this); f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public void confirm()/验证用户和密码是否存在 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver catch(ClassNotFoundExc
9、eption e)System.out.println(加载驱动程序失败! try String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); Statement sql=con.createStatement(); String uname=t1.getText().trim(); 6 String Mima=t2.getText().trim(); String que
10、ryMima=select * from user where 用户名=+uname+ and 密码=+Mima+ ResultSet rs=sql.executeQuery(queryMima); if(rs.next() new Book(uname); f.hide(); con.close(); else JOptionPane.showMessageDialog(null,该用户不存在,提示!, JOptionPane.YES_NO_OPTION); t1.setText( t2.setText(); catch(SQLException g) System.out.println(
11、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.dispose(); public static void main(String arg) Login a=new Login(); 72222图书概览图书概览图书概览图书概览:程序名BookBrower.java
12、BookBrower.javaBookBrower.javaBookBrower.java class BookBrower implements ActionListener JFrame f; Container cp; JPanel jpS,jpanelWest; JButton jbt1,jbt2;/按钮,查询、取消、修改 JLabel label,L; /标签 /定义文本框 JTable table;/用来接收数据库中返回的信息 Object columnName=图书名,图书号单价作者出版社入库时间; Object ar =new Object806; String sno; St
13、ring count=xx BookBrower() f=new JFrame(); / 初始化面板、按钮、标签、文本框 jpS=new JPanel(); jpanelWest=new JPanel(); /- jbt1=new JButton(确定 jbt2=new JButton(返回 label=new JLabel(html图书概览/font,SwingConstants.CENTER); label.setForeground(Color.blue); L=new JLabel(书库现在共有图书+count+本 /- table=new JTable(ar,columnName);
14、/ar存放表中的数据,columnname表示列名 JScrollPane scrollpane = new JScrollPane(table); 8 /- /布局,添加控件 jpS.add(jbt1); jpS.add(jbt2); JPanel jpanel=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
15、();/用来放两个表 p.setLayout(new BorderLayout(); p.add(L,North p.add(scrollpane); cp.add(pp4,West cp.add(p,Center cp.add(jpS, cp.add(jpE,East /- Toolkit kit=Toolkit.getDefaultToolkit(); int x=screen.width; /*取得显示器窗口的宽度*/ int y=screen.height; /*取得显示器窗口的高度*/ f.setSize(400,330); int xcenter=(x-350)/2; int yc
16、enter=(y-330)/2; f.setVisible(true); /- 9 jbt1.addActionListener(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-
17、; i=0; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver catch(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.executeQuery(s); while(rs.next() String bname=rs.getString(1); 10 String bno=rs.getString(2); String price=rs.getString(3); String writer=rs.getString(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1