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

📄 addorchangereaderframe.java

📁 图书管理系统:用户管理
💻 JAVA
字号:
//添加和修改读者窗口

import java.awt.*;
import java.net.URL;
import java.sql.*;
import java.awt.event.*;
import javax.swing.*;
public class AddOrChangeReaderFrame extends JFrame implements ActionListener{
	static final long serialVersionUID=80;
	JTextField card,name,phone,address;
	JComboBox sex,type;
	JButton add,cancel,clear;
	JLabel cardlabel,namelabel,phonelabel,addresslabel,sexlabel,typelabel;
	Container container;
	Dimension screenSize;
	Toolkit tool;
	boolean select;
	Connection con;
	PreparedStatement sql;
	Statement changesql;
	Image myimage;
	Object result[][];
	Object temp[][];
	int id;
	JTable table;
	String[] sextype={"男","女"};
	String[] membertype={"Common","Gold","Silver","Cuprum"};
	AddOrChangeReaderFrame(String title,boolean select,Connection con,Object[][] result,JTable table){
		super(title);
		this.select=select;
		this.con=con;
		container=getContentPane();
		container.setBackground(Color.ORANGE);
		container.setLayout(null);
		setSize(240,240);
		setResizable(false);
		tool=getToolkit();
		URL url=getClass().getResource("/images/reader.gif");
		if(url!=null){
		    myimage=tool.getImage(url);
		    setIconImage(myimage);
		}
		screenSize=tool.getScreenSize();
		card=new JTextField(12);
		name=new JTextField(12);
		phone=new JTextField(12);
		address=new JTextField(12);
		sex=new JComboBox(sextype);
		type=new JComboBox(membertype);
		type.setSize(1,1);
		if(select){
			String queue="INSERT INTO Reader_Info VALUES (?,?,?,?,?,?,?,?)";
			try{
				sql=con.prepareStatement(queue);
			}
			catch(SQLException e1){
				JOptionPane.showMessageDialog(this,"计算机已与服务器断开");
			}
			add=new JButton("登记");
		}
		else{
			try{
				changesql=con.createStatement();
			}
			catch(SQLException e2){
				JOptionPane.showMessageDialog(this,"计算机已与服务器断开");
			}
			add=new JButton("修改");
			this.result=result;
			this.table=table;
			id=table.getSelectedRow();
			temp=(Object[][])result.clone();
			card.setText("不填即是不修改");
			name.setText("填null可删除读者的此项信息");
		}
		cancel=new JButton("取消");
		clear=new JButton("清除");
		add.addActionListener(this);
		cancel.addActionListener(this);
		clear.addActionListener(this);
		cardlabel=new JLabel("卡号");
		namelabel=new JLabel("姓名");
		phonelabel=new JLabel("电话");
		addresslabel=new JLabel("地址");
		sexlabel=new JLabel("性别");
		typelabel=new JLabel("类型");
		container.add(cardlabel);
		cardlabel.setBounds(10,10,30,30);
		container.add(card);
		card.setBounds(40,14,180,22);
		container.add(namelabel);
		namelabel.setBounds(10,40,30,30);
		container.add(name);
		name.setBounds(40,44,180,22);
		container.add(phonelabel);
		phonelabel.setBounds(10,70,30,30);
		container.add(phone);
		phone.setBounds(40,74,180,22);
		container.add(addresslabel);
		addresslabel.setBounds(10,100,30,30);
		container.add(address);
		address.setBounds(40,104,180,22);
		container.add(sexlabel);
		sexlabel.setBounds(10,130,30,30);
		container.add(sex);
		sex.setBounds(40,134,70,26);
		container.add(typelabel);
		typelabel.setBounds(115,130,30,30);
		container.add(type);
		type.setBounds(150,134,70,26);
		container.add(add);
		add.setBounds(20,170,60,30);
		container.add(clear);
		clear.setBounds(90,170,60,30);
		container.add(cancel);
		cancel.setBounds(160,170,60,30);
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				if(sql!=null){
					try{
						sql.close();
					}
					catch(SQLException e2){
						JOptionPane.showMessageDialog(null,"计算机已与服务器");
					}
				}
				if(changesql!=null){
					try{
						changesql.close();
					}
					catch(SQLException e2){
						JOptionPane.showMessageDialog(null,"计算机已与服务器");
					}
				}
				dispose();
			}
		});
		setLocation((screenSize.width - this.getSize().width) / 2,(screenSize.height - this.getSize().height) / 2);
		setVisible(true);
		validate();
	}
	public void actionPerformed(ActionEvent e){
		if(e.getSource()==add){
			String cardtemp=card.getText();
			String readtemp=name.getText();
			String sextemp=sex.getSelectedItem().toString();
			String typetemp=type.getSelectedItem().toString();
			String date=new Timestamp(System.currentTimeMillis()).toString();
			String phonetemp=phone.getText();
			String addresstemp=address.getText();
			if(select){
				if(cardtemp.length()!=0&&readtemp.length()!=0){
					if(cardtemp.length()<=10&&readtemp.length()<=10&&phonetemp.length()<=30&&addresstemp.length()<=20){
						try{
							sql.setString(1,cardtemp);
							sql.setString(2,readtemp);
							sql.setString(3,sextemp);
							sql.setString(4,date);
							sql.setString(5,typetemp);
							sql.setString(6,phonetemp);
							sql.setString(7,addresstemp);
							sql.setInt(8,0);
							int n=sql.executeUpdate();
							if(n==1){
								JOptionPane.showMessageDialog(this,"登记成功");
							}
							else{
								JOptionPane.showMessageDialog(this,"登记失败");
							}
							sql.clearParameters();
						}
						catch(SQLException e2){
							JOptionPane.showMessageDialog(this,"已存在此读者");
						}
					}
					else{
						JOptionPane.showMessageDialog(this,"卡号,姓名的长度不能超过10,电话,地址长度超过30","警告对话框",JOptionPane.WARNING_MESSAGE);
						return;
					}
				}
				else{
					JOptionPane.showMessageDialog(this,"卡号,姓名不能为空!","警告对话框",JOptionPane.WARNING_MESSAGE);
				}
			}
			else{
				int p=0;
				if(readtemp.equals("null")){
					JOptionPane.showMessageDialog(this,"姓名不能为空","警告对话框",JOptionPane.WARNING_MESSAGE);
					return;
				}
				if(cardtemp.length()!=0){
					JOptionPane.showMessageDialog(this,"卡号不能修改","警告对话框",JOptionPane.WARNING_MESSAGE);
					return;
				}
				if(cardtemp.length()<=10&&readtemp.length()<=10&&phonetemp.length()<=30&&addresstemp.length()<=20){
					String changereader="UPDATE Reader_Info SET ";
					if(readtemp.length()!=0){
						changereader+="Name = "+"'"+readtemp+"',";
						result[id][1]=readtemp;
					}
					if(phonetemp.length()!=0){
						if(phonetemp.equals("null")){
							changereader+="Phone = "+null+",";
							result[id][5]=null;
						}
						else{
							changereader+="Phone = "+"'"+phonetemp+"',";
							result[id][5]=phonetemp;
						}
					}
					if(addresstemp.length()!=0){
						if(addresstemp.equals("null")){
							changereader+="Address = "+null+",";
							result[id][6]=null;
						}
						else{
							changereader+="Address = "+"'"+addresstemp+"',";
							result[id][6]=addresstemp;
						}
					}
					changereader+="SEX = "+"'"+sextemp+"',";
					result[id][2]=sextemp;
					changereader+="ReaderType = "+"'"+typetemp+"'"+" WHERE ReaderCardID = "+"'"+result[id][0]+"'";
					result[id][4]=typetemp;
					if(changereader.length()!=23){
						try{
							p=changesql.executeUpdate(changereader);
							if(p==1){
								JOptionPane.showMessageDialog(this,"修改成功");
							}
							else{
								JOptionPane.showMessageDialog(this,"修改失败");
								result=temp;
								return;
							}
						}
						catch(SQLException e2){
							JOptionPane.showMessageDialog(this,"计算机已与服务器断开");
						}
						table.repaint();
					}
				}
				else{
					JOptionPane.showMessageDialog(this,"卡号,姓名长度不能超过10,电话,地址长度分别不能超过30,20","警告对话框",JOptionPane.WARNING_MESSAGE);
				}
			}
		}
		else if(e.getSource()==clear){
			card.setText(null);
			name.setText(null);
			phone.setText(null);
			address.setText(null);
		}
		else{
			if(sql!=null){
				try{
					sql.close();
				}
				catch(SQLException e2){
					JOptionPane.showMessageDialog(this,"计算机已与服务器");
				}
			}
			if(changesql!=null){
				try{
					changesql.close();
				}
				catch(SQLException e2){
					JOptionPane.showMessageDialog(this,"计算机已与服务器");
				}
			}
			dispose();
		}
	}
}

⌨️ 快捷键说明

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