⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmborrow.java

📁 在管理员表中初始插入数据 usn: admin, pwd: 21232F297A57A5A743894A0E4A801FC3 初始用户账号/密码: admin (密码为 md5 加密) SRC
💻 JAVA
字号:
import java.awt.*;

import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import java.beans.PropertyChangeListener;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;

public class FrmBorrow extends JDialog implements ActionListener {
	FrmMain pr;
    public FrmBorrow(Frame owner, String title, boolean modal) {
        super(owner, title, modal);
    	Gload.checkLogin(this);
        pr = (FrmMain)owner;
        try {
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            jbInit();
            this.setBounds((Gload.de.width - 400)/2, (Gload.de.height-340)/2, 400, 340);
            this.setResizable(false);

        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    public FrmBorrow() {
        this(new Frame(), "FrmBorrow", false);
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout(null);
        jLabel1.setText("书号:");
        jButton1.setText("查 看");
        jButton2.setText("借 出");
        jLabel1.setBounds(new Rectangle(6, 4, 37, 29));
        jButton1.setBounds(new Rectangle(309, 5, 78, 22));
        jButton1.addActionListener(this);
        jButton2.setBounds(new Rectangle(310, 34, 77, 21));
        jButton2.setEnabled(false);
        jButton2.addActionListener(this);
        t1.setBorder(titledBorder1);
        t1.setBounds(new Rectangle(11, 69, 375, 170));
        t2.setBorder(titledBorder2);
        t2.setBounds(new Rectangle(13, 243, 371, 62));
        t1.setEditable(false);
        t2.setEditable(false);
        t1.setBackground(this.getContentPane().getBackground());
        t2.setBackground(this.getContentPane().getBackground());
        this.getContentPane().add(jLabel1);
        jTextField1.setBounds(new Rectangle(48, 7, 253, 20));
        jTextField2.setBounds(new Rectangle(48, 34, 255, 21));
        jLabel2.setText("读者号:");
        jLabel2.setBounds(new Rectangle(4, 33, 53, 21));
        this.getContentPane().add(jTextField2);
        this.getContentPane().add(jLabel2);
        this.getContentPane().add(jTextField1);
        this.getContentPane().add(jButton1);
        this.getContentPane().add(jButton2);
        this.getContentPane().add(t1);
        this.getContentPane().add(t2);
    }

    JLabel jLabel1 = new JLabel();
    JTextField jTextField1 = new JTextField();
    JLabel jLabel2 = new JLabel();
    JTextField jTextField2 = new JTextField();
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JTextArea t1 = new JTextArea();
    TitledBorder titledBorder1 = new TitledBorder("图书信息");
    JTextArea t2 = new JTextArea();
    TitledBorder titledBorder2 = new TitledBorder("读者信息");

    public void actionPerformed(ActionEvent e) {
        Object o = e.getSource();
        if (o.equals(jButton2)) {
        	this.jButton2_actionPerformed(e);
        } else if (o.equals(this.jButton1)) {
        	this.jButton1_actionPerformed(e);
        }
    }
    
    public void jButton1_actionPerformed(ActionEvent e) {
    	String s1, s2;
    	s1 = Gload.getText(this.jTextField1);
    	s2 = Gload.getText(this.jTextField2);
    	if (s1.equals("")) {
    		Gload.MSG(this, "请输入书号!");
    		return;
    	}
    	try { this.bid = Integer.parseInt(s1); }
    	catch(Exception e1) {
    		Gload.MSG(this, "书号不正确!");
    		return;
    	}
    	if (s2.equals("")) {
    		Gload.MSG(this, "请输入读者号!");
    		return;
    	}
    	try {
    		this.rid = Integer.parseInt(s2);
    	} catch(Exception e1) {
    		Gload.MSG(this, "读者号不正确!");
    		return;
    	}
    	ResultSet rs = Conn.query("select id from 图书信息 where id=" + s1);
    	try {
    		if (!rs.next()) {
    			Gload.MSG(this, "不存在书号为 " + s1 + " 的图书!");
    			rs.close();
    			return;
    		}
			rs.close();
		} catch (SQLException e1) { e1.printStackTrace(); }
		rs = Conn.query("select id from 读者 where id=" + s2);
		try {
			if (!rs.next()) {
    			Gload.MSG(this, "不存在读者号为 " + s1 + " 的读者!");
    			rs.close();
    			return;
			}
			rs.close();
		} catch (SQLException e1) { e1.printStackTrace(); }
		
		this.t1.setText(Conn.getBookInfo(s1));
		this.t2.setText(Conn.getReader(s2));
		this.jButton2.setEnabled(true);
    }
    
    private int bid = -1, rid = -1;
    
    public void jButton2_actionPerformed(ActionEvent e) {
       //点击借出
    	this.jButton2.setEnabled(false);
		ResultSet rs = Conn.query("select id from 图书状态 where 库存>0 and 书号=" + bid);
		try {
			if (!rs.next()) {
				Gload.MSG(this, "书号为 " + bid + " 的图书已全部借出,没有库存了!");
				rs.close();
				return;
			}
			rs.close();
		} catch (SQLException e1) { e1.printStackTrace(); }
		rs = Conn.query("select id from 借书 where 书号=" + bid + " and 读者号=" + rid);
		try {
			if (rs.next()) {
				Gload.MSG(this, "该读者已借了一本该书,不能再借此书!");
				rs.close();
				return;
			}
			rs.close();
		} catch (SQLException e1) { e1.printStackTrace(); }
		if (Gload.YES == Gload.Confirm(this, "确定借出吗?")) {
			Conn.exec("insert into 借书(书号,读者号) values(" + bid + "," + rid + ")");
			Conn.exec("insert into 运行记录(书号, 操作, 备注) values(" + bid + ", '借出', '读者号:" + rid + "')");
			Conn.exec("update 图书状态 set 库存=库存-1, 借出=借出+1 where 书号=" + bid);
			Gload.MSG(this, "操作成功!");
		}
		pr.initBook();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -