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

时间:2024.4.21

陕西师范大学远程教育学院

题目:    java小型图书管理系统设计              

学习中心:陕西省咸阳教育科技培训学院

学号:      

层次:     高中起点专科

姓名:       

1.前言

本系统是小型图书管理系统,专为个人设计。本系统启动后需要登陆,然后进入主界

在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。

系统共有4个功能模块:图书入库、图书查询、图书删除、图书概览、修改密码。支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、修改密码等。

2.系统流程图

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

说明:

首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;然后判断,如果判断失败退出系统,否则进入图书管理系统的主界面。进入主界面后,用户要选择所需执行的功能,即通过鼠标点击相应项,来完成所需操作。

 

3.数据库设计

在图书管理系统中,共设计2张表。本系统使用Access来创建数据表。数据库的名称为Book.mdb

1.表book

2.表user

4.界面设计

系统源码

1登陆界面:程序名Login.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=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();

        t1=new JTextField(18);

        t2=new JPasswordField(18);

       

        jp1.add(jlable1);

        jp1.add(t1);

        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;                 /*取得显示器窗口的宽度*/

        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 WindowAdapter(){

            public void windowClosing(WindowEvent e){

                System.exit(0);

            }

        }

        );

    }

    public void confirm()//验证用户和密码是否存在

      {

        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);

            Statement 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();

                 

            }else{

                JOptionPane.showMessageDialog(null,"该用户不存在","提示!",

                              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.dispose();

          }

       }

    public static void main(String []arg){

          

           Login a=new Login();

     }

}

2图书概览:程序名BookBrower.java

import 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;

    JButton  jbt1,jbt2;//按钮,查询、取消、修改

    JLabel label,L;             //标签

        //定义文本框

    JTable table;//用来接收数据库中返回的信息

    Object columnName[]={"图书名","图书号","单价","作者","出版社","入库时间"};

    Object ar[][] =new Object[80][6];

    String sno;

    String count="xx";

   

    BookBrower()

   {

    f=new JFrame();

    cp=f.getContentPane(); // 初始化面板、按钮、标签、文本框

    jpS=new JPanel();      

    jpanelWest=new JPanel();

   

    //------------------------------------------------

    jbt1=new 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 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();//用来放两个表

    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(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.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)

            {  

            ar[i][0]="";

            ar[i][1]="";

            ar[i][2]="";

            ar[i][3]="";

            ar[i][4]="";

            ar[i][5]="";

            i--;

            }

            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);

                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);

                ar[i][0]=bname;

                ar[i][1]=bno;

                ar[i][2]=price;

                ar[i][3]=writer;

                ar[i][4]=publish;

                ar[i][5]=indate;

                i++;

              }

                count=""+i+"";

                L.setText("书库现在共有图书"+count+"本");

                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(String []arg){

          

           BookBrower a=new BookBrower();

           a.showRecord();

}

}

3图书查询:程序名QueryBook.java

import 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,jpanelWest;

    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=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(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(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);

    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;

     int 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()

    {

        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);

            Statement sql;     

            String ql=tf.getText().trim();

            String s="select * from 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.setText(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());

                 }

   

      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();

                

               

    }

public static void main(String []arg){

          

           QueryBook a=new QueryBook();

}

}

4图书删除:程序名RemoveBook.java

import 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;

    JButton  jbt1,jbt2,jbt3;//按钮,查询、取消、修改

    JLabel label,L;             //标签:请输入学号

    JTextField tf;    //定义文本框

    JTable table;//用来接收数据库中返回的信息

    Object columnName[]={"图书名","图书号","单价","作者","出版社","入库时间"};

    Object ar[][] =new Object[80][6];

    String sno;

    String count="xx";

   

    RemoveBook()

   {

    f=new JFrame();

    cp=f.getContentPane(); // 初始化面板、按钮、标签、文本框

    jpS=new JPanel();      

    jpanelWest=new 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);

    //------------------------------------------------

    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 BorderLayout());

   

    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);

   //-------------------------------------------------

    jbt1.addActionListener(this);//注册监听器

    jbt2.addActionListener(this);

    jbt3.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)

            {  

            ar[i][0]="";

            ar[i][1]="";

            ar[i][2]="";

            ar[i][3]="";

            ar[i][4]="";

            ar[i][5]="";

            i--;

            }

            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);

             Statement sql;    

             String s="select * from book  where 图书名 ='"+ql +"'";

              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 writer=rs.getString(4);

                String publish=rs.getString(5);

                String indate=rs.getString(6);

                ar[i][0]=bname;

                ar[i][1]=bno;

                ar[i][2]=price;

                ar[i][3]=writer;

                ar[i][4]=publish;

                ar[i][5]=indate;

                i++;

              }

                count=""+i+"";

               

                L.setText("该种图书共有"+count+"本");

               

                f.repaint();

           

                 con.close();System.out.println(ar[0][1]);

           }catch(SQLException g)

                {

                 System.out.println("E Code"+g.getErrorCode());

                 System.out.println("E M"+g.getMessage());

                }

   

     

    }

   

   public void deleteRecord(int index)

    {

         

        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);

            Statement sql;     

            String ql=(String)(ar[index][1]);

            String s="delete * from book  where 图书号 ='"+ql +"'";

            sql=con.createStatement();

             int del=sql.executeUpdate(s);

              if(del==1)

                 {JOptionPane.showMessageDialog(null,"删除成功!",

                     "信息", JOptionPane.YES_NO_OPTION);

                 }

                 con.close();

                f.repaint();

            }catch(SQLException g)

                {

                System.out.println("E Code"+g.getErrorCode());

                System.out.println("E M"+g.getMessage());

                 }

   

     

    }

  public void actionPerformed(ActionEvent e)

    { 

        String remember="";

        String ql="";

         String cmd=e.getActionCommand();

          if(cmd.equals("查询"))

             

               {

                 ql=tf.getText().trim();

                remember=ql;

                showRecord(ql);

               

              }

           if(cmd.equals("删除"))

            {

               int index=table.getSelectedRow();

               if( index==-1)

                 JOptionPane.showMessageDialog(null,"请选定要删除的表格行",

                     "输入错误", JOptionPane.YES_NO_OPTION);

               else{

                   deleteRecord(index);

                  //showRecord(remember);

                 }

             }

           if(cmd.equals("取消"))

                   f.hide();

                

               

    }

public static void main(String []arg){

          

           RemoveBook a=new RemoveBook();

}

}

5图书入库:程序名BookIn.java

import java.awt.event.*;

import javax.swing.*;

import java.awt.*;

import java.awt.Container;

import java.util.*;

import java.sql.*;

import javax.swing.text.JTextComponent;

 //extends JFrame

class BookIn   implements  ActionListener

{  

  

    JFrame f3;

    Container cp;

    JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;

    JButton  jbt1,jbt2;//按钮:确定、取消、

    JLabel label;               //标签

    JTextField tf1,tf2,tf3,tf4,tf5,tf6;    //定义文本框

    JLabel label1,label2,label3,label4;

    String sno;

    BookIn()

   {

    f3=new JFrame();

    cp=f3.getContentPane(); // 初始化面板、按钮、标签、文本框

    jp1=new JPanel();      

    jp2=new JPanel();

    jp3=new JPanel();

    jp4=new JPanel();

    jpanelWest=new JPanel();

    jp=new JPanel();

    //------------------------------------------------

    jbt1=new JButton("确定");  

    jbt2=new JButton("取消");

   

    //------------------------------------------------

    label=new JLabel("

图书入库",SwingConstants.CENTER);

    label.setForeground(Color.blue);

   

   

   

   

    //------------------------------------------------

    tf1=new JTextField(20);

    tf2=new JTextField(20);

    tf3=new JTextField(20);

    tf4=new JTextField(20);

    tf5=new JTextField(20);

    tf6=new JTextField(20);

    //------------------------------------------------

    //布局,添加控件

   

    jp1.add(jbt1);

    jp1.add(jbt2);

   

   

    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,"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(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);

    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;

     int 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 insertRecord()

    {

      if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||

          tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals(""))

        {

        JOptionPane.showMessageDialog(f3,"请填写图书资料");

        return;

        }

        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);

            Statement sql;     

           

            String s="insert into book  values('"+tf1.getText()+"','"+tf2.getText()+"','"+

                tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";

           

            //查询输入的图书号是否在数据库中存在

            String query="select * from book where 图书号='"+tf2.getText()+"'";

            sql=con.createStatement();     

            ResultSet rs=sql.executeQuery(query);//返回查询结果集

            boolean moreRecords=rs.next();//判断结果集是否有数据

              if(moreRecords)

                 {

                 JOptionPane.showMessageDialog(f3,"图书号已经被使用,请重新输入");

                 con.close();

                 tf2.setText("");

                 return;

                 }

               

                int insert=sql.executeUpdate(s);

             if(insert==1)

                {

                JOptionPane.showMessageDialog(null,"图书信息录入成功!");

                tf1.setText("");

                tf2.setText("");

                tf3.setText("");

                tf4.setText("");

                tf5.setText("");

                tf6.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("确定"))

               {

                  insertRecord();

               

                }

                   

             else if(cmd.equals("取消"))

                   f3.hide();

                

    }

   public static void main(String []arg){

          

           BookIn a=new BookIn();

    }

}

6主界面:程序名Book.java

/*本类为用户界面*/

import java.net.*;

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

{

    JButton QueryScore=new JButton("图书查询");

    JButton  QueryXuefen=new JButton("图书入库");

    JButton  jiangfa=new JButton("图书删除");

    JButton  xuanke=new JButton("图书概览");

    JButton  gaiMima=new JButton("修改密码");

    JMenuBar mb = new JMenuBar();//菜单栏

    JPanel jp=new JPanel();//用来填放子模块

    Container cp=getContentPane();

    String  username;

    Book(){}

    Book(String username)

    {

        this.username=username;

        mb.add(QueryScore);

        mb.add(QueryXuefen);

        mb.add(jiangfa);

        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);

       /* JLabel  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=screen.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);

        QueryXuefen.addActionListener(this);

        jiangfa.addActionListener(this);

        xuanke.addActionListener(this);

        gaiMima.addActionListener(this);

    }

    public void actionPerformed(ActionEvent e)

    {

        String cmd=e.getActionCommand();

        if (cmd.equals("图书查询"))

        {

            new QueryBook();

        }

        if (cmd.equals("图书入库"))

        {

            new BookIn();

        }

        if (cmd.equals("图书删除"))

        {

            new RemoveBook();

        }

        if (cmd.equals("图书概览"))

        {

            new BookBrower().showRecord();

        }

        if (cmd.equals("修改密码"))

        {

            new UpdateMima(username);

        }

    }

    public static void main(String[]args)

    {

        new Book("");

       

    }

   

}

7.密码修改:程序名UpdateMima.java

import java.net.*;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import javax.swing.*;

class UpdateMima extends JFrame implements ActionListener

{  

  

    JFrame f;

    Container cp;

    JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;

    JButton  jbt1,jbt2;//按钮,确定、取消

    JLabel label;               //标签:修改密码

    JTextField name;

    JPasswordField tf1,tf2,tf3;    //定义文本框

    JLabel label1,label2,label3,label4;

    String sno;

    UpdateMima(){}

    UpdateMima(String username)

   {

    sno=username;

    f=new JFrame();

    cp=f.getContentPane(); // 初始化

    jp1=new JPanel();      

    jp2=new JPanel();

    jp3=new JPanel();

    jp4=new JPanel();

    jpanelWest=new JPanel();

    jp=new JPanel();

    //------------------------------------------------

    jbt1=new JButton("确定");  

    jbt2=new JButton("取消");

   

   

    //------------------------------------------------

    label=new JLabel("

修改密码",SwingConstants.CENTER);

    label.setForeground(Color.blue);

    label.setFont(new Font("BOLD",Font.BOLD,15));

    name=new JTextField(20);

    //name.setEditable(false);

   

   

    //------------------------------------------------

    tf1=new JPasswordField(20);

    tf2=new JPasswordField(20);

    tf3=new JPasswordField(20);

   

    //------------------------------------------------

    //布局,添加控件

    jp1.add(jbt1);

    jp1.add(jbt2);

   

    jp1.add(new JLabel("您好"+"xx"+"欢迎登陆学生信息系统"));

   

    JPanel jpanel=new JPanel();

    jpanel.add(label);

   

    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.RIGHT));

    pp2.add(name);

    pp4.add(new JLabel("原密码: ",SwingConstants.RIGHT));

   

    pp2.add(tf1);

    pp4.add(new JLabel(" 新密码: ",SwingConstants.RIGHT));

    pp2.add(tf2);

    pp4.add(new JLabel("确认密码: ",SwingConstants.RIGHT));

    pp2.add(tf3);

    pp2.add(new JLabel());

    JPanel jpbutton=new JPanel();

    jpbutton.add(jbt1);

    jpbutton.add(jbt2);

    pp2.add(jpbutton);

  

   

    //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;

     f.setSize(350,330);                    /*取得显示器窗口的高度*/

     int xcenter=(x-350)/2;

     int ycenter=(y-330)/2;

     f.setLocation(xcenter,ycenter);/*显示在窗口中央*/

     //f.setTitle("修改密码");

     f.setVisible(true);

  

   //-------------------------------------------------

    jbt1.addActionListener(this);//注册监听器

    jbt2.addActionListener(this);

  

    /*f.addWindowListener(new WindowAdapter(){

            public void windowClosing(WindowEvent e){

                System.exit(0);

            }

        }

        );*/

    }

    public void updateM()

    {

        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);

            Statement sql=con.createStatement();

            String uname=name.getText().trim();

            String queryMima="select * from user where 用户名='"+uname+"'";

            ResultSet rs=sql.executeQuery(queryMima);

            if(rs.next())

            {

               

                String newMima=tf2.getText().trim();

                String s="update user set 密码='"+newMima+"' where 用户名 ='"+uname +"'";

                sql=con.createStatement();

                int updateMima=sql.executeUpdate(s);

                if(updateMima==1)

                 {

                  JOptionPane.showMessageDialog(f,"密码修改成功!");

                 

                 }

                 con.close();

                 f.repaint();

            }else{

                JOptionPane.showMessageDialog(null,"该用户不存在","警告!",

                              JOptionPane.YES_NO_OPTION);

               

                }

               name.setText("");

                tf1.setText("");

                tf2.setText("");

                tf3.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("确定"))

             {

                 if(name.getText().equals("")||tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals(""))

                  {

                   JOptionPane.showMessageDialog(null,"请填写用户的所有信息","提示",

                              JOptionPane.YES_NO_OPTION);

                   return;

                  }

               

                  if(tf2.getText().trim().equals(tf3.getText().trim()))

                      updateM();

                

              }

            else if(cmd.equals("取消"))

                   f.hide();

    }

   public static void main(String[]args)

     {

      new UpdateMima("");

     }

}

更多相关推荐:
图书管理系统设计报告论文

深圳广播电视大学计算机信息管理专业毕业设计论文图书管理系统设计与实现摘要在信息化时代数据库系统的建设实现对数据信息化的管理在此基础上建立了图书管理系统为其信息时代管理和交流提供了极大的便利该论文着重论述了运用v...

图书管理系统详细设计报告(经典范例)

实验报告课程名称软件工程导论课题名称图书管理系统详细设计报告专业计算机科学与技术班级计算机0903学号姓名指导教师20##年5月24日目录1.1编写目的...21.2背景...21.3定义...31.4参考资料…

图书管理系统设计报告

学校图书管理系统的开发图书管理系统系统设计目的和内容图书管理系统主要目的是对图书馆种类繁多的书籍进行管理并且合理管理好用户的借还信息提高图书馆的工作效率降低管理成本其开发主要包括后台数据库的建立和维护以及前端应...

图书管理系统设计报告

图书管理系统设计报告课程信息系统分析与设计班级组别第五组成员李志敏陈奕彤高荣超导师陈广宇080704颜琼赵林宁陈亚楠图书管理系统设计报告一组织情况概述本课题为图书信息管理系统它的主要功能是先通过管理员身份验证然...

图书管理系统总体设计报告

概要设计说明书编写规范项目名称总统设计说明书图书管理系统作者完成日期签收人签收日期概要设计说明书编写规范目录1引言11编写目的112范围113定义114参考资料22总体设计221需求规定222系统环境配置223...

图书管理系统设计报告

软件综合设计实训报告网上图书销售系统院系:计算机科学技术学院班级:软件12-2班姓名:学号:指导教师:20##年1月4日目录一、概述.......................................…

.net图书管理系统设计报告

题目图书管理系统图书管理系统一实验目的内容图书管理系统此实验的主要内容及目的是熟悉VCnet的CS结构掌握如何通过MFCODBC访问数据库对于图书的借书和还书过程相信我们每个学生对此过成已经很熟悉在计算及尚未在...

图书管理系统设计报告

深圳广播电视大学计算机信息管理专业课程设计报告图书管理系统设计与实现专业计算机信息管理专业年级10春计算机信息管理姓名罗玲学号104420xx02186指导老师刘默玲二一二年三月图书管理系统目录一概述21课题来...

图书管理系统毕业设计报告

图书管理系统院系专业班级学号姓名指导教师负责教师沈阳航空航天大学20xx年5月沈阳航空航天大学毕业实习报告摘要二十一世纪是信息的社会信息作为社会最主要的资源将成为战略资源引起人们广泛的关注如何获取信息图书是我们...

SQL图书管理系统设计课题报告

1SQL图书管理系统设计课题报告班级计网0901班小组成员柳录秧周龙20xx1203目录1图书管理系统ER图2系统功能设计3数据表的创建4数据库完整性设计5SQLServer数据库对象设计21图书管理系统设计E...

图书管理系统_毕业设计论文_目录

毕业设计论文目录摘要引言第一章VisualFoxPro60系统开发基础111主要功能112性能指标113新增功能214常用文件名及其类型2第二章图书管理系统的功能分析设计321系统功能分析322系统模块设计32...

校园图书管理系统设计与实现毕业论文

xx学院xxx届毕业论文设计论文设计题目院系名称专业班级姓名学号指系完基于ASPNET的图书管理系统的设计与实现计算机科学与技术系XxxXxxxxxxxxxxxxxxx20xx421导负成教责时师人间基于ASP...

图书管理系统设计报告(25篇)